Python 如何验证变量是否在两个指定数字之间?

Python 如何验证变量是否在两个指定数字之间?,python,validation,Python,Validation,如何验证用户输入以限制他们只输入-5到-21之间的数值?我目前已经建立了这个while循环 while True: if flatNumber.isdigit(): flatNumber = int(flatNumber) if flatNumber>5 and flatNumber<21: print("Enjoy your stay.") break else: f

如何验证用户输入以限制他们只输入-5到-21之间的数值?我目前已经建立了这个while循环

while True: 
 if flatNumber.isdigit():
      flatNumber = int(flatNumber)
      if flatNumber>5 and flatNumber<21: 
           print("Enjoy your stay.") 
           break 
      else:  
           flatNumber = input("Please enter your flat number.")
 else: 
    flatNumber = input("Please enter a numerical flat number.")
为True时:
如果flatNumber.isdigit():
flatNumber=int(flatNumber)

如果flatNumber>5且flatNumber如果您想要像您+5到+21这样的独占测试:

if flatNumber<-5 and flatNumber>-21: 
           print("Enjoy your stay.") 
           break 
      else:
如果flatNumber-21:
打印(“祝您入住愉快”)
打破
其他:
如果你想要包容性测试

if flatNumber<=-5 and flatNumber>=-21: 
           print("Enjoy your stay.") 
           break 
      else:
如果flatNumber=-21:
打印(“祝您入住愉快”)
打破
其他:

你能不能不改变不等式的数字和方向?像这样:

if flatNumber<-5 and flatNumber>-21:
如果flatNumber-21:

您可以使用使用负值的简化链式比较:

if -21 < flatNumber < -5:

如果flatNumber>-21和flatNumber修改此行,如下所示

if flatNumber<-5 and flatNumber>-21: 
如果flatNumber-21:

No我厌倦了使用它,在收到消息提示时输入“-7”,但打印了“请输入一个数字平面号”。我尝试使用它,但在上面的if语句中,我验证了它是否确实是一个整数。似乎flatNumber.isdigit()对于负整数不会返回true。你能解释一个解决方案吗?啊,好的,一秒钟,这就是为什么你不应该使用isdigit来验证输入!不用担心,很高兴这有帮助。
if flatNumber<-5 and flatNumber>-21: