我是python的初学者试图写这个但不起作用。有什么帮助吗?
CP=input("enter the cost price: ")
SP=input("enter the sale price: ")
if (SP>CP):
print ("Congratulations !! you made a profit of ", + SP-CP)
print("Congratulations!! you made a profit of %f" % SP-CP)
elif (CP>SP):
print("you are in loss of %f" % CP-SP)
else:
print("you got nothing")
答案 0 :(得分:0)
简短回答
您需要在SP-CP
和CP-SP
附近添加括号。
<强>解释强>
首先评估字符串格式化运算符%
,但不能从字符串中减去数字。
就像你在写
print(("Congratulations!! you made a profit of %f" % SP)-CP)
但你想要的是
print("Congratulations!! you made a profit of %f" % (SP-CP))
进一步阅读
答案 1 :(得分:0)
在python 3中(我假设你使用的是因为你包含的python-3.x
标签),input
函数返回一个字符串,你不能做数学在一个字符串上。您需要更改
CP=input("enter the cost price: ")
SP=input("enter the sale price: ")
到
CP = int( input("enter the cost price: ") )
SP = int( input("enter the sale price: ") )
(添加空格以显示我更改的内容)。
如上所述,您还需要在替换值周围添加括号,以便
print("Congratulations!! you made a profit of %f" % SP-CP)
变为
print("Congratulations!! you made a profit of %f" % (SP-CP) )
(编辑:本杰明以3秒的优势击败我!)
答案 2 :(得分:0)
内置输入返回一个字符串。您将需要将其转换为如下所示的浮动。当然假设浮动是你想要的。您可以使用int()。
对整数执行相同的操作CP=float(input("enter the cost price: "))
SP=float(input("enter the sale price: "))
if (SP>CP):
print("Congratulations!! you made a profit of %f" % (SP-CP))
elif (CP>SP):
print("you are in loss of %f" % (CP-SP))
else:
print("you got nothing")