【发布时间】:2020-01-18 07:04:33
【问题描述】:
所以我对 python 还很陌生,我正在尝试构建一个“类似股票市场”的游戏。
如果每次点击次数增加,价格就会上涨,反之亦然。
我现在的第一个挑战是存储我点击的次数。
到目前为止,我的代码如下所示:
from pynput.mouse import Listener
count = 0
def on_click(x, y, button, pressed):
print("check")
count += 1
print(count)
with Listener(on_click=on_click) as listener:
listener.join()
现在,当我单击它时,它会按原样打印出“检查”,并且还会打印出“0”,因为我之前是这样定义的。但如果我再次点击它不会计数。抱歉,我最近才开始编程。
稍后我想知道每个时间跨度我点击了多少次。但还有很长的路要走。
感谢您的帮助
【问题讨论】:
-
尝试使用
import datetime和time = datetime.datetime.utcnow在点击时保存到数据库/文件 -
具体来说,您遇到的问题是局部变量与全局变量。您的第一个
count = 0是一个全局范围变量,但是当您尝试在函数内重新分配count += 1时,它指的是函数内的局部变量。因此,每次执行函数时,局部变量count都是空的。 -
解决方案可以在@Roca 的链接中看到。将
global count放入您的 on_click 功能中 -
谢谢你帮了我这么多。现在它起作用了。现在它实际上计数为 2。按下鼠标时一次,再次松开鼠标时一次。
标签: python python-3.x