Python类型错误:无法将int与str拼接,如何修复?
修复「TYPEERROR: Can only concatenate str (not "int") to str」错误
错误原因
你代码中的x是字符串类型,而grid是整数类型(由level + 2计算得出,level为1-3的数字输入)。Python中+运算符对字符串和整数混用会触发拼接操作,而非算术加法,因此抛出类型错误。
修复方法
- 直接在判断语句中转换类型:将字符串类型的
x转为整数后再参与计算:
if int(x) + grid > len(maze): print("Invalid Move.")
- 提前转换
x的类型:如果x来自用户输入,在获取时就转为整数,避免后续重复转换:
# 假设x是用户输入的位置索引 x = int(input("请输入位置索引:")) # 后续直接使用x即可 if x + grid > len(maze): print("Invalid Move.")
验证逻辑
转换后x和grid均为整数类型,+会执行算术加法,与len(maze)(返回整数)的比较操作就能正常执行,不会再触发类型错误。
内容的提问来源于stack exchange,提问作者secretlymaia
相关产品推荐
相关产品推荐

