Могу ли я создать Python time.sleep () с переменной? - PullRequest
0 голосов
/ 18 июня 2020

Я создал функцию, которая создает полосу загрузки в окне терминала. Это выглядит так:

def loadingBar(length, time):
    void = '-'
    fill = '#'
    count = 100/length
    increaseCount = 0
    sleepTime = time/20
    for i in range(length):
        print('['+(fill*i)+(void*(length-i))+'] '+str(int(increaseCount))+'%',end='\r')
        increaseCount += count
        time.sleep(sleepTime)
    print('['+(fill*(i+1))+(void*(length-(i+1)))+'] '+str(int(increaseCount))+'%',end='\n')

Я хочу настроить время сна с помощью переменной «sleepTime», но у меня появляется сообщение об ошибке:

AttributeError: 'float' object has no attribute 'sleep'

Я не понимаю потому что переменная «time» и переменная «sleepTime» являются плавающими!
Примечание: я не очень хорошо владею английским sh.

1 Ответ

0 голосов
/ 18 июня 2020

В настоящее время параметр time имеет то же имя, что и время модуля.

Изменить:

def loadingBar(length, time):

Кому:

def loadingBar(length, time1):

и

sleepTime = time/20

до

sleepTime = time1/20

Это будет работать:

def loadingBar(length, time1):
    void = '-'
    fill = '#'
    count = 100/length
    increaseCount = 0
    sleepTime = time1/20
    for i in range(length):
        print('['+(fill*i)+(void*(length-i))+'] '+str(int(increaseCount))+'%',end='\r')
        increaseCount += count
        time.sleep(sleepTime)
    print('['+(fill*(i+1))+(void*(length-(i+1)))+'] '+str(int(increaseCount))+'%',end='\n')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...