Python编写CPS计数器时变量除以数字打印异常如何解决
问题原因
- 代码中
(number / 10)仅执行了除法运算,未将结果赋值给变量存储,属于无实际作用的空运算 print(cps)语句中传入的cps是函数本身的标识符,直接打印会输出函数对象的内存地址,也就是你看到的异常输出内容
修复方案
将cps函数修改为如下写法即可输出预期的CPS数值:
def cps(): # 计算10秒周期内的平均每秒点击数 current_cps = number / 10 # 打印计算得到的CPS值 print(current_cps) # 如果需要将结果显示在窗口的标签中,可以补充以下代码 my_label.config(text=label.format(round(current_cps, 2)))
可选优化点
- 如果需要实现实时每秒刷新CPS而不是仅10秒后计算一次,可以在
cps函数末尾添加my_label.after(1000, cps)实现循环调用 - 可以补充计时结束后的点击数重置逻辑,避免全局变量
number持续累加导致后续计算结果失真
内容的提问来源于stack exchange,提问作者peleg siegel
相关产品推荐
相关产品推荐

