def PrintBlue():
print (" You chose Blue!\r\n")
def PrintRed():
print (" You chose Red!\r\n")
def PrintOrange():
print (" You chose Orange!\r\n")
def PrintYellow():
print (" You chose Yellow!\r\n")
#Let's create a dictionary with unique key
ColorSelect = {
0:PrintBlue,
1:PrintRed,
2:PrintOrange,
3:PrintYellow
}
Selection = 0
while (Selection != 4):
print ("0.Blue")
print ("1.Red")
print ("2.Orange")
print ("3.Yellow")
try:
Selection = int(input("Select a color option: "))
x=0
if (Selection < 0) and (Selection > 3):
raise KeyError(" Enter a number >=0 and <4)")
else:
ColorSelect[Selection]() # Run the function inside dictionary as well
except KeyError:
pass
以上是我的python代碼。我正在使用2.7版本。但運行後我得到了不同的輸入= 4的結果。雖然我期待同樣的結果對於選擇< 0或> 3.Here是結果是這樣的:if(選擇<0)和(選擇> 3)條件對於輸入= 4的行爲不同。爲什麼?
0.Blue 1.Red 2.Orange 3.Yellow 選擇顏色選項:5 0.Blue 1.Red 2.Orange 3.Yellow 選擇色彩選項:4
通知後,我進入輸入= 4,蟒蛇出口從運行時間。當時我進入0,1,2,3,5,6,7,每次再問再次輸入值的時間,但當我輸入4時退出。
正如你所提到的'while(selection!= 4)'它退出循環。 – shivsn
感謝您的快速回復!我只是不好意思看到while(Selection!= 4):在我的代碼中。 –
條件'if(選擇<0)和(選擇> 3)'總是假。選擇不能小於0且大於3.適當的運算符是'或',而不是'和'。 –