我的python代码中的Addition无法按我想要的方式工作。谁能解释为什么?

时间:2019-06-04 00:35:31

标签: python python-3.x

我正在使用Pycharm,并且正在编写一些会问您问题的代码。这是代码:https://repl.it/@NateyBoi/Bitch-Lasagna

添加似乎无效。

因此,您输入名称,然后输入您喜欢的颜色。然后输入您名字中的字母数字作为您的x,然后对您喜欢的颜色(即您的y)执行相同的操作。然后将x(您的名字中有多少个字母)添加到y(您喜欢的颜色中有多少个字母)。然后将x加到y,您就会得到答案。对我来说,我将7作为我的x,然后将5作为我的y,答案变成75。7加5是12而不是75。看起来它把这些也放在一起,然后放了出去。我尝试重新编写代码,然后在google上进行了查找,我所看到的所有内容都向我展示了如果正确提取代码将会发生什么情况。

print("Hello there.")
name = input("What is your name? ")
color = input("What is your favorite color? ")
print("So " + name + " Likes the color " + color)
x = input("How much letters are in your name")
print("So " + x + " Letters in your name?") 
y = input("Ok now how much letters in your favorite color?")
print("So " + y + " Letters in your favorite color?")
print(x + y) 

我希望它在y上加上x,然后将其等于(例如x的7个字母名称,y的5个字母颜色,然后得到12,将其输出为75而不是) 12)

2 个答案:

答案 0 :(得分:0)

您可以尝试:

x = int(input("How much letters are in your name"))
y = int(input("Ok now how much letters in your favorite color?"))

这是因为代码中的x和y是字符串,因此您需要将它们转换为整数,因此python知道您将两个数字加在一起而不是将两个字符串连接在一起。

答案 1 :(得分:0)

正如评论所说,这是因为您要串联两个字符串而不是将两个数字相加。 要修复代码,请替换:

print(x+y)

使用:

print(int(x)+int(y))

或者您的代码块已修复:

print("Hello there.")
name = input("What is your name? ")
color = input("What is your favorite color? ")
print("So " + name + " Likes the color " + color)
x = input("How much letters are in your name")
print("So " + x + " Letters in your name?") 
y = input("Ok now how much letters in your favorite color?")
print("So " + y + " Letters in your favorite color?")
print(int(x) + int(y))