2016-10-15 105 views
1

我想轉換用Python編寫的2碼下面的代碼是在Python 3.我收到以下錯誤兼容:Python的類型錯誤:不支持的操作類型爲 - :「STR」和「STR」

File "C:/Users/brand/AppData/Local/Programs/Python/Python35-32/Ch‌​ange Maker.py",

line 5, in CHANGE = MONEY - PRICE

TypeError: unsupported operand type(s) for -: 'str' and 'str'

這裏是我使用的代碼:

PRICE = input("Price of item: ") 
MONEY = input("Cash tendered: ") 
CHANGE = MONEY - PRICE 
print ("Change: ", CHANGE) 
+1

是什麼錯誤你得到了嗎?請提供您所遇到的問題的任何輸出和/或更多的細節。 –

+0

價格:28.92 現金出價:64.55 回溯(最近一次通話最後): 文件「C:/用戶/品牌/應用程序數據/本地/程序/ Python/Python35-32 /更改Maker.py」,第5行在 CHANGE = MONEY - 價格 類型錯誤:不支持的操作類型爲 - :「海峽」和「海峽」 – Brandon

+0

不要把註釋的消息;編輯你的答案。並一直包含錯誤信息!沒有「只是另一個錯誤信息」這樣的事情。他們有關鍵的細節。 –

回答

4

input()在Python 3等同於在Python 2。因此raw_input()PRICEMONEY是字符串,因爲你期望不是整數。

爲了解決這個問題,將其更改爲整數:

PRICE = int(input("Price of item: ")) 

MONEY = int(input("Cash tendered: ")) 
+0

我想太后仍有問題。只是另一個錯誤信息。 – Brandon

+1

@Brandon請給我看錯誤信息 – TerryA

+0

價格不一定是整數。事實上這可能是他得到的錯誤,如果使用上面評論中的示例輸入。因此,轉換爲'float'而不是'int'會更合適。 – jez

0

input返回在Python 3

而且錢串,我會建議decimal由於float lack of precision

import decimal 
price = decimal.Decimal(input("Price of item: ")) 
money = decimal.Decimal(input("Cash tendered: ")) 
change = money - price 
print("Change: {change}".format(change=change)) 
相關問題