def main():
import math
#the loop
choice=str(raw_input("Will you add an item to the list? Say 'yes' to add or 'no' once you're done"))
while choice== "Yes" or choice== "yes":
addItem=input("What is the item?")
additemP=input("How much does that cost?")
print(addItem + "---------------------$" + additemP)
choice=str(raw_input("Will you add an item to the list? Just say yes or no"))
if choice != "yes":
quit
total = sum(additemP)
print(total)
我每次結束循環我的列表中的輸出顯示我命名的項目及其價格
,但我不能得到總打印出來,我只得到一個錯誤信息打印總和爲while循環蟒蛇
TypeError: unsupported operand type(s) for +: 'int' and 'str' on line 14
我剛開始編碼最近,我也不太清楚該怎麼做
你爲什麼要使用的raw_input和輸入退出 打印(總)。如果您使用的是Python 3,只需使用輸入 –
我相信''loop''應該在''main''函數中。如果是這樣,請相應縮進代碼。如果不是,那麼你可以去掉''main''函數,因爲它什麼都不做。 –
@Silencer,我相信**原來的代碼是爲python2 **而設計的。 **編輯版本是嚴格的python3 **,因此答案會鬆動python2的一些細微差別。 ''raw_input()''將用戶輸入隱式轉換爲字符串。而''input()''只接受數字。將不能被解釋爲數字的輸入傳遞給''input()''引發''NameError''。請重新提出問題以反映op的原始含義。 –