我刚开始使用python 3而且我正在使用命令shell。为什么下面的代码有例外?
name = input("whats your name: ")
age = input("what is your age: ")
work = input("how long will you be working: ")
print("Good luck " + name + " you will be " + int(age) + int(work) + " years old")
Python调试器生成错误“应该是str vs int”。
答案 0 :(得分:1)
问题是string + integer
不起作用(有充分理由)。相反,我们需要转换回方法中的字符串。
但是不要写那样的字符串。正如您所看到的那样,它非常容易出错。而是使用字符串格式
print("Good luck {} you will be {} years old".format(name, int(age) + int(work)))
甚至更好的python 3.6
print(f"Good luck {name} you will be {int(age) + int(work)} years old")
答案 1 :(得分:0)
试试这个:
print("Good luck " + name + " you will be " + str(int(age)) + int(work)) + " years old")
最有可能的原因是你在连接字符串并同时添加整数。将它们一起添加然后转换为字符串并在之后进行连接。
答案 2 :(得分:-2)
理想情况下,您要将str
转换为int
int(age)
并再次尝试将字符串与整数连接。默认情况下,input()以字符串形式获取数据。
请避免使用int()转换。如果需要,还检查类型(var)并尝试连接。