程序将字符串加在一起而不是整数

时间:2019-08-26 22:38:31

标签: python

我尝试使用从创建自己的函数中学到的知识来制作计算器。我只是尝试在开头添加两个数字。但是,当我运行该程序时,它会将数字添加为字符串而不是整数。例如,将12 + 12打印为1212,而不是24。

def plus(Num1, Num2):
    product = num1 + num2
    print(product)


num1 = input('Enter your number here: ')
int(num1)
num2 = input('Enter another number: ')
int(num2)
op = input('Enter Operator: ')
if op == '+':
    plus(num1, num2)

3 个答案:

答案 0 :(得分:2)

问题是int函数返回了强制转换的对象。因此,将int(num1)更改为num1 = int(num1)。对两个输入都这样做

答案 1 :(得分:1)

您的问题是仅运行int(num)不会存储以num计算的值。代替

    int(num)

您需要

    num = int(num)

答案 2 :(得分:1)

您没有正确转换num1num2值。
确实,您必须将转换int(num1)int(num2)的结果分别放入num1num2
您的变量的类型为string ,因此+运算符应用于字符串,因此其行为类似于 concatenation 运算符。
要使用有效的代码,请尝试如下操作:

def plus(Num1, Num2):
    product = num1 + num2
    print(product)


num1 = input('Enter your number here: ')
num1 = int(num1)
num2 = input('Enter another number: ')
num2 = int(num2)
op = input('Enter Operator: ')
if op == '+':
    plus(num1, num2)