编辑:好的,所以我将它放在另一个文件中并再次进行了测试,并且工作正常。谢谢大家,并非常感谢您对重构后的代码大为破坏!
我完成了一个(有效的)进度百分比,然后将自身和周围的所有打印语句打印两次。
我需要两个打印语句。注释掉printProgress(0, 100, suffix = 'complete')
仅使其从1开始而不是0,并且仍然打印两次。
注释printProgress(x + 1, 100, suffix = 'complete')
会导致
test
printmplete
test
printmplete
,这显然不理想。
注释print('\r%s%% %s' % (percent, suffix), end = '\r')
会导致
test
\n
print
test
\n
print
,我认为这意味着问题出在for循环中的某个地方。但是在哪里?
这是我的其余代码。
def printProgress(iteration, total, suffix):
# call in a loop to create terminal progress percentage
# iteration - Required : current iteration (Int)
# total - Required : total iterations (Int)
# suffix - Optional : suffix string (Str)
# decimals - Optional : positive number of decimals in percent complete (Int)
percent = ("{0:." + str(0) + "f}").format(100 * (iteration / float(total)))
print('\r%s%% %s' % (percent, suffix), end = '\r')
# print new line on completion
if iteration == total:
print()
print('test')
y = list(range(0, 100))
# start progress at 0
printProgress(0, 100, suffix = 'complete')
for x in y:
time.sleep(.01)
# update progress bar
printProgress(x + 1, 100, suffix = 'complete')
print('print')```
# Here's my expected output:
test
100% complete
print
# Here's my actual output:
test
100% complete
print
test
100% complete
print