Skip to main content
 首页 » 编程设计

Python之对变量设置限制

2025年05月04日10kerrycode

我刚开始学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:,因为它不会再更高了。