Проблема прогресс-бара
Напсал прогресс-бар (с помощю другого человека) и уткнулся в проблему: когда 100 не делится на n прогресс-бар оканчивается 100-(n-1). Прошу помочь в решении.
Вот код:
z=int(input()) #Задаём сколько раз повторять
for j in range(z):
v=int(input()) #Задаём сколько ждать между каждым шагом
if __name__ == "__main__":
x='#'
n=int(input()) #Задаём шаг: сколько процентов будет обозначать каждая решоточка:'#'
ProgressMax = 100
for i in range(1, ProgressMax+1):
if i*n <= ProgressMax:
print(x*i , str(i*n)+'%', '\r', end=' ')
else:
break
time.sleep(v/10)
Ответы (2 шт):
Автор решения: Evgeniy
→ Ссылка
Вот так вроде норм работает
import time
set_repeat = int(input('Количество повторов: ')) # Задаём сколько раз повторять
set_interval = int(input('Время задержки: ')) # Задаём сколько ждать между каждым шагом
set_step = int(input('Шаг: ')) # Задаём шаг: сколько процентов будет обозначать каждая решоточка:'#'
ProgressMax = 100
def main(repeat, interval, step, symb):
for j in range(repeat):
for i in range(1, ProgressMax + 1):
if i * step <= ProgressMax:
print(str(symb * i) + ' ' + str(i * step)+' %', '\r', end=' ')
else:
break
time.sleep(interval / 10)
if __name__ == "__main__":
main(set_repeat, set_interval, set_step, '#')
Автор решения: MihailPy
→ Ссылка
Попробуйте вот так.
import time
z = int(input()) #Задаём сколько раз повторять
for j in range(z):
v = int(input()) #Задаём сколько ждать между каждым шагом
if __name__ == "__main__":
x='#'
n = float(input()) #Задаём шаг: сколько процентов будет обозначать каждая решеточка:'#'
progressMax = 100
i = 0
while True:
if i*n <= progressMax:
print(x*i , str(i*n)+'%', '\r', end=' ')
else:
print(x*i , str(100.0)+'%', '\r', end=' ')
break
time.sleep(v/10)
i += 1