如何在Python中打印执行时间及随机列表中被测的特定数字?
解决Python计时同时输出被测特定数字的问题
我明白你的需求啦——现在你已经能成功获取代码执行时间,但想同时确定并输出随机列表里的被测特定数字对吧?我帮你调整代码,分两种常见场景给你参考:
场景1:处理整个随机列表,同时输出列表中的特定数字
如果你的需求是测试整个列表的处理时间,同时记录这次测试用的列表里的某个特定数字(比如第一个元素,或者随机选一个),可以这样修改代码:
import time import random def algorithm(c): b = [] for i in c: b.append(i*2) def data(): c = [] # 生成百万级随机列表 for x in range(10000000): c.append(random.randint(1, 100000)) # 选择要跟踪的特定数字:这里选第一个元素,也可以用random.choice(c)随机选一个 target_num = c[0] # 将列表和目标数字一起传给计时器 timer(c, target_num) def timer(c, target_num): time_start = time.time() algorithm(c) time_end = time.time() time_taken = time_end - time_start # 同时打印执行时间和被测特定数字 print(f"代码执行时间: {time_taken:.4f} 秒") print(f"本次测试跟踪的特定数字: {target_num}") data()
关键修改点:
- 在
data函数生成列表后,挑选一个你想跟踪的特定数字(比如第一个元素或随机元素) - 把这个数字和列表一起传入
timer函数,在计时完成后同时输出
场景2:针对单个数字测试,输出被测数字和执行时间
如果你的真实需求是测试单个数字的处理时间(而非整个列表),那可以简化代码,直接生成单个被测数字并跟踪:
import time import random def algorithm(num): # 这里是你要测试的算法逻辑,比如数字乘2 return num * 2 def data(): # 生成单个随机数字作为被测对象 target_num = random.randint(1, 100000) timer(target_num) def timer(target_num): time_start = time.time() # 执行针对单个数字的算法 result = algorithm(target_num) time_end = time.time() time_taken = time_end - time_start # 输出时间、被测数字和处理结果 print(f"代码执行时间: {time_taken:.6f} 秒") print(f"被测数字: {target_num}, 算法处理结果: {result}") data()
这样每次运行都会生成一个随机被测数字,同时打印它的处理时间和结果,完美满足你的需求~
内容的提问来源于stack exchange,提问作者Jon Doe
相关产品推荐
相关产品推荐

