Вывод процентов в Python

Код:

import time
 x='#'
 n=10
 for i in range(1,n+1):
     print(x*i,str(i*10)+'%','\r',end=' ')
     time.sleep(0.5)

Нужно что-бы проценты выводились снизу и при любом n


Ответы (2 шт):

Автор решения: makcim512
import time, math

if __name__ == "__main__":

 x='#'
 n= 10
 ProgressMax = 100

# Если число дробное, то округляем 
if ( type(n) != "Integer"):
    n = math.ceil(n)

# Перебираем 100 раз
for i in range(1, ProgressMax+1):

    #Проверяем что текущий статус меньше чем максимальный
    if i*n <=  ProgressMax:
        time.sleep(0.5)
        print(x*i, str(i*n)+'%', '\r', end=' ')
    else:
        # Если бар набрал 100% быстрее чем все проходы цикла
        # То просто выходим из цикла
        break
→ Ссылка
Автор решения: Egr
import time
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)
→ Ссылка