如何将字符串输入作为整数参数传递?

Upz*_*Upz 2 python string integer arguments

我想通过传递值的参数做以下简单的计算num1,并num2input()方法。

我尝试了以下代码:

def add(num1, num2):
    return num1 * num2

num1 = input('Enter number1: ')
num2 = input('Enter number2: ')

print(add(num1, num2))
Run Code Online (Sandbox Code Playgroud)

但是它在运行时显示以下错误(在输入num1和之后num2):

TypeError: can't multiply sequence by non-int of type 'str'
Run Code Online (Sandbox Code Playgroud)

有人可以解释一下我哪里出错了以及如何将输入字符串转换为整数类型吗?

Fab*_*ian 6

input()将返回一个字符串,您必须将该字符串转换为 aìntfloat,您可以测试输入是否为有效数字。

isnumeric() 如果字符串中的所有字符都是数字字符并且字符串不为空,则返回 true。

注意:我将函数重命名为,mul因为这不是添加...

def mul(num1,num2):
    return num1*num2

inp1=input('Enter number1: ')
inp2=input('Enter number2: ')

if inp1.isnumeric() and inp2.isnumeric():
    num1 = int(inp1)
    num2 = int(inp2)
    print(mul(num1,num2))
else:
    print("Atleast one input is not numeric")
Run Code Online (Sandbox Code Playgroud)