0
下面請檢查我的代碼,在其他條件相匹配(測試數據是「K」),但不執行它裏面的語句,而它給錯誤,如 -Python的 - else條件不執行
NameError: name "k" is not defined.
在如果我給8或9的同時,也沒有在不執行else語句以及同時顯示上面的錯誤,只是表示將使用raw_input
而不是input
再次
from math import sqrt
def addition(firstNum,secondNum):
total = firstNum+secondNum
return total
def substraction(firstNum,secondNum):
total = firstNum-secondNum
return total
def multiplication(firstNum,secondNum):
total = firstNum*secondNum
return total
def division(firstNum,secondNum):
total = firstNum/secondNum
return total
def root(firstNum):
total = (firstNum*firstNum)
return total
menu={}
menu[" "] = " --------PYTHON CALCULATOR------- "
menu["."] = "~~Main Menu~~"
menu["1"] = "Addition"
menu["2"] = "Substraction"
menu["3"] = "Multiplication"
menu["4"] = "Division"
menu["5"] = "Square"
menu["6"] = "Root"
menu["7"] = "Exit\n"
while True:
options = menu.keys()
options.sort()
for entry in options:
print entry, menu[entry]
selection = input("Please select your correct option: ")
if selection == 1:
firstNum=input ("\nPlease enter first number : ")
secondNum=input("Please enter Second number: ")
print "Answer is " , addition(firstNum,secondNum)
print "--------------------------------------------------------\n\n"
elif selection == 2:
firstNum=input ("\nPlease enter first number : ")
secondNum=input("Please enter Second number: ")
print "Answer is " ,substraction(firstNum,secondNum)
print "--------------------------------------------------------\n\n"
elif selection == 3:
firstNum=input ("\nPlease enter first number : ")
secondNum=input("Please enter Second number: ")
print "Answer is ",multiplication(firstNum,secondNum)
print "--------------------------------------------------------\n\n"
elif selection == 4:
firstNum=input ("\nPlease enter first number : ")
secondNum=input("Please enter Second number: ")
print "Answer is " ,division(firstNum,secondNum)
print "--------------------------------------------------------\n\n"
elif selection == 5:
firstNum=input ("\nPlease enter first number : ")
print "Answer is " ,sqrt(firstNum)
print "--------------------------------------------------------\n\n"
elif selection == 6:
firstNum=input ("\nPlease enter first number : ")
print "Answer is " ,root(firstNum)
print "--------------------------------------------------------\n\n"
elif selection == 7:
break
else:
"Invalid option keyed in..."
使用'raw_input',而不是'input'。但不要忘記在之後將輸入轉換爲int。 –
請參閱http://stackoverflow.com/questions/23294658/asking-the-user-for-input-until-they-give-a-valid-response,瞭解如何獲得有效的輸入。 –