这个错误表示你试图将一个整数(int)和一个字符串(str)使用
+ 运算符进行相加操作,但 Python 不允许这种类型不一致的操作。
# 错误代码age = 25message = "我今年" + age + "岁"print(message)
运行上述代码会产生:
TypeError: unsupported operand type(s) wap.shunLihpk.com wap.shunLijzt.com wap.mpfqvcs.com wap.baoqichem.com gjyyzb.cn m.gjyyzb.cn wap.gjyyzb.cn gjyyzb.com m.gjyyzb.com wap.gjyyzb.com for +: 'int' and 'str'
age = 25message = "我今年" + str(age) + "岁"print(message) # 输出: 我今年25岁
age = 25message = f"我今年{age}岁"print(message) # 输出: 我今年25岁age = 25message = "我今年{}岁".format(age)print(message) # 输出: 我今年25岁age = 25message = "我今年%d岁" % ageprint(message) # 输出: 我今年25岁
age = 25print("我今年", age, "岁") # 输出: 我今年 25 岁# 注意:这种方法会在值之间自动添加空格# 处理多个变量name = "小明"age = 20score = 95.5# 使用 f-string(推荐)info = f"{name}今年{age}岁,考试成绩是{score}分"print(info)# 使用 format()info = "{}今年{}岁,考试成绩是{}分".format(name, age, score)print(info)# 使用 % 格式化info = "%s今年%d岁,考试成绩是%.1f分" % (name, age, score)print(info)用户输入处理:
# 用户输入的是字符串,需要转换为数字进行计算num1 = input("请输入第一个数字: ") # 返回字符串num2 = input("请输入第二个数字: ") # 返回字符串# 错误:直接相加会进行字符串拼接# result = num1 + num2# 正确:转换为数字后再相加result = int(num1) + int(num2)print(f"结果是: {result}")从文件读取数据:
# 从文件读取的数字是字符串类型with open("data.txt", "r") as file:
number_str = file.read().strip()
# 转换为整数进行计算number = int(number_str) + 10使用
+ 运算符时,确保操作数的类型一致
使用
str() 将其他类型转换为字符串
使用
int() 或
float() 将字符串转换为数字
推荐使用 f-string 进行字符串格式化,代码更简洁易读
记住:在 Python 中,
+ 运算符可以用于数字相加或字符串连接,但不能混合使用。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/39499/viewspace-3099044/ ,如需转载,请注明出处,否则将追究法律责任。