這是一個非常簡單的計算器程序的Python代碼。有人可以解釋這個簡單的Python計算器代碼嗎?
loop = 1 # 1 means loop, 0 means don't loop.
choice = 0 # holds the user's choice in the menu.
while loop == 1:
print ("Welcome to the python calculator.")
print ("Your options are:")
print ("")
print ("1) Addition")
print ("2) Subtraction")
print ("3) Multiplication")
print ("4) Division")
print ("5) Quit calculator")
print ("")
choice = input("Choose your option: ")
if choice == 1:
add1 = input ("Add this: ")
add2 = input ("to this: ")
print (add1, "+", add2, "=", add1+add2)
elif choice == 2:
sub1 = input ("Subtract this: ")
sub2 = input ("from this: ")
print (sub1, "-", sub2, "=", sub1-sub2)
elif choice == 3:
mul1 = input ("Multiply this: ")
mul2 = input ("by this: ")
print (mul1, "*", mul2, "=", mul1*mul2)
elif choice == 4:
div1 = input ("Divide this: ")
div2 = input ("by this: ")
print (div1, "/", div2, "=", div1/div2)
elif choice == 5:
loop = 0
print ("Thank you for using the python calculator, goodbye.")
的問題是,當它得到的以「選擇你的選擇」線和用戶輸入的不是去IF-elif的塊的相關部分的數,程序而是返回到用「歡迎使用python計算器」消息開始循環。
我試着打印出選擇的變量用戶輸入他們的選擇並正確打印出來,讓任何人都可以解釋爲什麼它不然後使用在IF-elif的塊選擇值後立即?
'str' VS:
...應該對一個字符串進行評估'int'問題 – vaultah 2014-09-05 15:47:09
@vaultah哦! Python中的input()函數是否以字符串形式讀取值?我剛剛開始使用Python,所以沒有意識到這一點。那麼最好的解決方案然後將用戶選擇投入到一個int或是有一個函數類似於input()讀入一個int而不是一個字符串? – 2014-09-05 15:50:30
你可以隨時轉換它:'int(input('Whatever'))' – vaultah 2014-09-05 15:54:58