Python TypeError:不支持的操作数类型 - :'str'和'str'

时间:2016-10-15 03:42:35

标签: python

我正在尝试将以下用Python 2编写的代码转换为与Python 3兼容的代码。我收到以下错误:

  

文件“C:/ Users / brand / AppData / Local / Programs / Python / Python35-32 / Ch ange Maker.py”,

     

第5行,在CHANGE = MONEY - PRICE

     

TypeError:不支持的操作数类型 - :'str'和'str'

以下是我正在使用的代码:

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

2 个答案:

答案 0 :(得分:4)

Python 3中的

input()相当于Python 2中的raw_input()。因此,PRICEMONEY是字符串,而不是您期望的整数。

要解决此问题,请将其更改为整数:

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

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

答案 1 :(得分: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))