【Python】使用time.clock报错的问题

【Python】使用time.clock报错的问题
举例:使用clock记录运行时间报错

在使用北理工嵩天《Python程序设计基础》第二版学习的时候,教材参考代码出现warning,如下:

:DeprecationWarning: time.clock has been deprecated in Python 3.3 and will be removed from Python 3.8: use time.perf_counter or time.process_time instead clock()

弃用警告:时间时钟在python3.3中已被弃用,并将从python3.8:使用time.perf_countertime.process_time 而不是time.clock()

解决方法:

按照要求,将time.clock()替换为time.perf_countertime.process_time 任意一种即可

实例如下:
错误代码:
#e6.1CalPi.py
from random import random
from math import sqrt
from time import clock
DARTS = 1000
hits = 0.0
clock()		#旧版本调用time.clock是没问题的  
for i in range(1, DARTS+1):
    x, y = random(), random()
    dist = sqrt(x ** 2 + y ** 2)
    if dist <= 1.0:
        hits = hits + 1
pi = 4 * (hits/DARTS)
print("Pi值是{}.".format(pi))
print("运行时间是: {:5.5}s".format(clock()))

输出结果:

Pi值是3.236.
C:/Users/dell/PycharmProjects/e6.1CalPi/e6.1CalPi.py:7: DeprecationWarning: time.clock has been deprecated in Python 3.3 and will be removed from Python 3.8: use time.perf_counter or time.process_time instead
运行时间是: 0.071226s
clock()
C:/Users/dell/PycharmProjects/e6.1CalPi/e6.1CalPi.py:15: DeprecationWarning: time.clock has been deprecated in Python 3.3 and will be removed from Python 3.8: use time.perf_counter or time.process_time instead
print(“运行时间是: {:5.5}s”.format(clock()))
Process finished with exit code 0

修改之后
使用 time.perf_counter 或 time.process_time替代:
#e6.1CalPi.py
from random import random
from math import sqrt
from time import process_time  # 引入 time.perf_counter 用以替换clock
DARTS = 1000
hits = 0.0
process_time()             # time.perf_counter or time.process_time替代time.clock
for i in range(1, DARTS+1):
    x, y = random(), random()
    dist = sqrt(x ** 2 + y ** 2)
    if dist <= 1.0:
        hits = hits + 1
pi = 4 * (hits/DARTS)
print("Pi值是{}.".format(pi))
print("运行时间是: {:5.5}s".format(process_time()))

输出结果:

Pi值是3.128.
运行时间是: 0.10938s
Process finished with exit code 0

最后总结:

time.clock()替换为time.perf_countertime.process_time 任意一种即可

  • 13
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值