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

Python运行报错can only concatenate str (not "bool") to str如何解决?

错误原因

报错can only concatenate str (not "bool") to str的核心是类型不匹配:代码中Greater、Smaller属于布尔(bool)类型,Python不允许直接使用+运算符拼接字符串与布尔值,必须先将布尔值转换为字符串类型后才可执行拼接操作。

修正方案

共有三种常用的修改方式,可按需选择:

  • 方案1:用str()函数将布尔值转为字符串后再拼接
  • 方案2:使用print的多参数特性直接输出,无需手动做拼接处理
  • 方案3:使用Python3.6及以上版本支持的f-string格式化输出,代码可读性更高
完整可运行的修正代码(f-string方案示例)
num_1 = input("Enter first number: ")    
num_2 = input("Enter second number: ")

num_1 = int(num_1)
num_2 = int(num_2)

Sum = num_1 + num_2
print(Sum)

Greater = num_1 > num_2
Smaller = num_1 < num_2

print(f"is number 1 greater than number 2? {Greater}")
print(f"is number 2 greater than number 1? {Smaller}")

另外两种方案的对应输出行写法

方案1(转字符串拼接)

print("is number 1 greater than number 2?  " + str(Greater))
print("is number 2 greater than number 1?  " + str(Smaller))

方案2(print多参数输出)

print("is number 1 greater than number 2? ", Greater)
print("is number 2 greater than number 1? ", Smaller)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 21:09:03