Проблема прогресс-бара

Напсал прогресс-бар (с помощю другого человека) и уткнулся в проблему: когда 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
→ Ссылка