【问题标题】:what is my error ? (first number is 1 and second number is 2 = 3 but output says 1 + 2 = 12) [duplicate]我的错误是什么? (第一个数字是 1,第二个数字是 2 = 3,但输出显示 1 + 2 = 12)[重复]
【发布时间】:2019-07-26 18:05:01
【问题描述】:
num1 = input("First number : ")
num2 = input("Second number : ")

sum = num1 + num2 

print (sum)

#output 

#First number : 1

#Second number : 2

#12

我的错误是什么(第一个数字是 1,第二个数字是 2 = 3,但输出显示 1 + 2 = 12)

【问题讨论】:

  • 因为您将输入作为字符串,所以在字符串连接 1+ 2=12

标签: python python-3.x python-2.7 python-requests


【解决方案1】:

你应该尝试类型转换

num1 = int(input("First number : "))
num2 = int(input("Second number : "))
sum = num1 + num2 
print (sum)

【讨论】:

    【解决方案2】:

    问题是根据您的程序,输入将被视为字符串,您必须在程序中进行一些修改。只需在输入前添加 int 即可。

    num1 = int(input("Enter number one: "))
    num2 = int(input("Enter number two: "))
    print(num1+num2)
    

    没有错误,输出只是num1和num2的拼接,加法需要整数。

    在交互式shell中你可以清楚地理解它

    >>>"1"+"2" #your code is doing the same
    >>>12
    >>>1+2 #this is what you need to do
    >>>3
    

    【讨论】:

    • 很好的解释。当你说Just add int before input and it'll do the worknum1 = int(input("First number : ")) 可以让你的答案更清晰时,也许添加一些代码 sn-p 会有所帮助
    • 这是我的第一个答案,谢谢指出。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多