我刚开始学python,谁能帮帮我。 例如,如果我有一个名为“speed”的变量,我只希望它达到 100 而不是高于 0,而不是低于 0。但我也希望代码仍然运行,这样我就可以将它设置得更低或更高,我的到目前为止的代码:
import tkinter as tk
speed = 80
def onKeyPress(event, value):
global speed
text.delete("%s-1c" % 'insert', 'insert')
text.insert('end', 'Current Speed: %s\n\n' % (speed, ))
speed += value
print(speed)
if speed >= 100:
text.insert('end', 'You have reached the speed limit')
speed = 80
root = tk.Tk()
root.geometry('300x200')
text = tk.Text(root, background='black', foreground='white', font=('Comic Sans MS', 12))
text.pack()
# Individual key bindings
root.bind('<KeyPress-w>', lambda e: onKeyPress(e, 1))
root.bind('<KeyPress-s>', lambda e: onKeyPress(e, -1)) #
root.mainloop()
如何在不停止整个代码的情况下让“速度”变量停止在 100?
请您参考如下方法:
不要立即将 speed 更改为 speed += value,而是执行以下操作:
speed = min(max(speed+value, 0), 100)
这首先产生 speed+value 和 0 之间的较高值,因此如果它是负数,它将保持为 0。然后将其发送到 min () 找到它和 100 之间的较低值,因此如果它高于 100,它将保持在 100。
然后您可以将检查更改为 if speed == 100:,因为它不会再更高了。
