请帮忙?TypeError:无法将序列与"str"类型的非int相乘

请帮帮忙好吗?
我是第一次接触蟒蛇。我写了这段代码,但我一直收到:
小计='衬衫'*'金额'*0.20
TypeError:无法将序列乘以'str'类型的非int数
代码是:
衬衫="12.99"
Amount=INPUT("您想买几件衬衫?")
小计='衬衫'*'金额'*0.20
百分比='衬衫'*'金额'*0.20
合计='小计'-'百分比'

# 回答1


当您在数字或单词两边加引号或单引号时,它会将它们读作一串字母,而不是数字。删除引号。

选择 | 换行 | 行号
  1. shirts=12.99
  2.  
  3. amount=input("How many shirts would you like to purchase?")
  4.  
  5. subtotal= shirts * amount * 0.20
  6.  
  7. percentage= shirts * amount * 0.20
  8.  
  9. total= subtotal - percentage
  10.  
  11. print subtotal, percentage, total
  12.  

所以这个错误告诉你,你不能用一串字母和数字相乘。每当你用引号括起某个东西时,它看起来就像是一个字符串。

# 回答2


谢谢。但我遇到了另一个问题。这样做我会得到:
5.你想买几件衬衫?
执行成功!
它仍然不能给我所需要的总数
# 回答3


在结尾处添加一条print语句,如我上面的示例所示。
# 回答4


再次感谢你的帮助。我真的很感激。
我照你说的做了,我得到的只有:
打印小计、百分比、合计
^
语法错误:无效语法
以下是我放入的代码:
衬衫=12.99
Amount=INPUT("您想买几件衬衫?")
小计=衬衫*金额*0.20
百分比=衬衫*金额*0.20
合计=小计-百分比
打印小计、百分比、合计
我在这里的目标是得到一个总数。我正在尝试从小计中减去百分比来得到这个数字。如果这有意义的话。
# 回答5


试着只打印一条语句,看看它说了什么:
打印小计
# 回答6


谢谢你。
我试过了
打印小计
得到:
语法错误:无效语法
# 回答7


您是从IDLE运行此程序,还是将其另存为脚本?
# 回答8


我在《闲置》和《忍者》中都尝试过
# 回答9


等等……您可能使用的是python3.x版本,所以您必须将要打印的内容括在括号中:
打印(小计)
# 回答10


是的,是的,我使用的是python3.x
是的,是的,我试过带括号和不带括号。
我将我的代码更改为:
衬衫=12.99
Amount=Float(输入("您想买几件衬衫?"))
小计=衬衫*金额*0.20
百分比=衬衫*金额*0.20
合计=小计-百分比
打印(总计)
当我打印(小计)时,我得到正确的答案
当我打印(百分比)时,我也得到正确的答案
但现在,当我打印(总数)时,无论我在运行它以测试它时输入什么数字,我都会得到0.0。
# 回答11


哦!我修好了!!耶!!
我知道我做错了什么
我有:
小计=衬衫*金额*0.20
百分比=衬衫*金额*0.20
当实际应该是:
小计=衬衫*金额
百分比=衬衫*金额*0.20
哦,天哪,我感觉太傻了。
非常感谢您抽出时间来帮助我。我非常感激。

标签: python

添加新评论