You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python TypeError报错求助:需字符串而非整数(字符串拼接问题)

解决TypeError: must be str, not int的问题

嘿,这个问题很常见——你遇到的TypeError是因为你试图把整数类型的计算结果直接和字符串拼接在一起啦。

错误原因分析

你代码里的int(my_quantity) * int(price)会算出一个整数(也就是商品总价),但你在把它和前面的字符串片段(比如str(No) + " " + str(my_text)这些)用+拼接的时候,Python不允许整数和字符串直接相加,所以抛出了这个类型不匹配的错误。

修复后的代码

只需要把计算出来的总价转换成字符串类型就可以了,用str()包裹住计算表达式:

txtReceipt.insert(END, str(No) + " " + str(my_text) + '\t\t' + str(my_quantity) + '\t\t' + str(int(my_quantity) * int(price)) + "\n")

更简洁的写法(可选)

你还可以用Python的f-string来简化代码,它会自动帮你处理类型转换,代码可读性也更高:

total = int(my_quantity) * int(price)
txtReceipt.insert(END, f"{No} {my_text}\t\t{my_quantity}\t\t{total}\n")

这样修改后,代码就能正常运行,不会再出现类型错误啦。

内容的提问来源于stack exchange,提问作者mohamed abdallah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:48:43