我刚刚开始学习python,任何人都可以帮助我.例如,如果我有一个名为'speed'的变量,我只希望它变为100而不是上面,而不是低于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()
Run Code Online (Sandbox Code Playgroud)
如何在不停止整个代码的情况下让'speed'变量停在100?
而不是立即改变speed同speed += value,请执行以下操作:
speed = min(max(speed+value, 0), 100)
Run Code Online (Sandbox Code Playgroud)
这首先在speed+value和之间产生较高的值0,所以如果它是负数,它将保持为0.然后发送它min()以找到它之间的较低值100,所以如果它高于100,它将保持在100.
然后,您可以将支票更改为if speed == 100:,因为它不会更高.
| 归档时间: |
|
| 查看次数: |
2237 次 |
| 最近记录: |