2013-03-05 158 views

回答

7

通過將他們變成整數代替:

percent = (int(pyc)/int(tpy)) * 100; 

在Python 3中,input()函數返回一個字符串。總是。這是從Python 2的變化; raw_input()函數被重命名爲input()

+4

或者潛在的,'float's或'decimal.Decimal's適當的,如果你需要接受不完整的整數數字。 – 2013-03-05 22:54:09

5

你應該做的第一件事就是學會閱讀錯誤信息。它告訴你什麼 - 你不能在除法運算符中使用兩個字符串。

所以,問問自己爲什麼他們是字符串,你如何讓他們不是字符串。它們是字符串,因爲所有輸入都是通過字符串完成而製作非字符串的方法是轉換它們。

將字符串轉換爲整數的一種方法是使用int函數。例如:

percent = (int(pyc)/int(tpy)) * 100 
0

我會寫:

percent = 100 
while True: 
    try: 
     pyc = int(input('enter pyc :')) 
     tpy = int(input('enter tpy:')) 
     percent = (pyc/tpy) * percent 
     break 
    except ZeroDivisionError as detail: 
     print 'Handling run-time error:', detail 
+0

謝謝,即時通訊編程新手,我從不會知道這樣做 – 2013-03-07 00:12:11

+0

如果您要添加錯誤處理,您可能需要一個「除ValueError」子句來處理無效輸入... – abarnert 2013-09-19 20:02:39

相關問題