我正在尝试将以下用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)
答案 0 :(得分:4)
input()
相当于Python 2中的raw_input()
。因此,PRICE
和MONEY
是字符串,而不是您期望的整数。
要解决此问题,请将其更改为整数:
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))