Python 对于输入=4,如果(选择项<;0)和(选择项>;3)条件的行为不同。为什么? def PrintBlue(): 打印(“您选择了蓝色!\r\n”) def PrintRed(): 打印(“您选择了红色!\r\n”) def PrintOrange(): 打印(“您选择了橙色!\r\n”) def PrintYellow(): 打印(“您选择了黄色!\r\n”) #让我们创建一个具有唯一键的字典 颜色选择={ 0:PrintBlue, 1:打印红色, 2:PrintOrange, 3:打印黄色 } 选择=0 而(选择!=4): 打印(“0.蓝色”) 打印(“1.红色”) 打印(“2.橙色”) 打印(“3.黄色”) 尝试: Selection=int(输入(“选择颜色选项:”) x=0 如果(选择3): raise KeyError(“输入一个大于等于0的数字,然后

Python 对于输入=4,如果(选择项<;0)和(选择项>;3)条件的行为不同。为什么? def PrintBlue(): 打印(“您选择了蓝色!\r\n”) def PrintRed(): 打印(“您选择了红色!\r\n”) def PrintOrange(): 打印(“您选择了橙色!\r\n”) def PrintYellow(): 打印(“您选择了黄色!\r\n”) #让我们创建一个具有唯一键的字典 颜色选择={ 0:PrintBlue, 1:打印红色, 2:PrintOrange, 3:打印黄色 } 选择=0 而(选择!=4): 打印(“0.蓝色”) 打印(“1.红色”) 打印(“2.橙色”) 打印(“3.黄色”) 尝试: Selection=int(输入(“选择颜色选项:”) x=0 如果(选择3): raise KeyError(“输入一个大于等于0的数字,然后,python,if-statement,conditional-statements,Python,If Statement,Conditional Statements,如果这不是期望的行为,那么需要更改该行 while (Selection != 4): 您在第24行有“while(Selection!=4)”——当选择等于4时,while循环(和程序)退出。正如您所提到的while(Selection!=4)它退出循环。感谢您的快速回复!我只是不好意思看到while(Selection!=4):在我的代码中。条件if(Selection3)始终为false。选择不能同时小于0和大于3。合适的运算符是或,而不是和。感谢您很好地解决了这个问题,并给了我一些见解

如果这不是期望的行为,那么需要更改该行

while (Selection != 4):

您在第24行有“while(Selection!=4)”——当选择等于4时,while循环(和程序)退出。

正如您所提到的
while(Selection!=4)
它退出循环。感谢您的快速回复!我只是不好意思看到while(Selection!=4):在我的代码中。条件
if(Selection<0)和(Selection>3)
始终为false。选择不能同时小于0和大于3。合适的运算符是
,而不是
。感谢您很好地解决了这个问题,并给了我一些见解!
if ( Selection < 0) and (Selection > 3):
if ( Selection < 0) or (Selection > 3):
while (Selection != 4):
while True: