2 回答

TA贡献1818条经验 获得超7个赞
首先,我不太清楚您要实现的目标(代码的一般目的)。
但是对于特定的代码问题,您可以尝试使用单个while循环,可能是这样的:
import time
stop_number = int(input("NUMBER: "))
num_counter = 0
time_counter = 0
while num_counter < stop_number:
print(num_counter, time_counter)
time.sleep(1)
num_counter += 1
time_counter += 1
我不知道如何轻松地在终端的两行不同的行上打印,所以我的代码只打印在同一行上,每次迭代一行。

TA贡献1801条经验 获得超8个赞
如果你想测量打印数字所需的时间,你可以试试这个timeit模块:
import timeit
def f1(stop_number):
num_counter = 0
print('Numbers:')
while num_counter < stop_number:
print(num_counter, end=' ', flush=True)
num_counter += 1
print()
if __name__ == '__main__':
stop_number = int(input("NUMBER: "))
t = timeit.timeit(
stmt='f1({})'.format(stop_number),
setup='from __main__ import f1',
number=1000)
print()
print('The statement took in average {} seconds to run.'.format(t))
或者,如果需要,您还可以使用time.perf_counter()以下方法测量时差:
import time
stop_number = int(input("NUMBER: "))
start_time = time.perf_counter()
num_counter = 0
while num_counter < stop_number:
print(num_counter)
num_counter += 1
end_time = time.perf_counter()
print('The code took {} seconds to run.'.format(end_time - start_time))
注意打印输出消耗大量时间;只是没有打印的迭代将花费更少的时间。
添加回答
举报