添加两个变量中的数字

时间:2018-05-15 14:59:09

标签: python concatenation

我刚开始使用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”。

3 个答案:

答案 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)并尝试连接。