我想通过传递来自input()
方法的参数num1
和num2
的值来进行以下简单的计算
我尝试了以下代码:
def add(num1, num2):
return num1 * num2
num1 = input('Enter number1: ')
num2 = input('Enter number2: ')
print(add(num1, num2))
但在运行时(在输入num1
和num2
之后),它会显示以下错误:
TypeError: can't multiply sequence by non-int of type 'str'
有人能解释一下我哪里出错了,以及如何将输入字符串转换成整数类型吗
input
(在Python 3中)返回一个str
,它被视为文本而不是数字。如果要对数字进行乘法(或加法),必须首先将字符串解析为数字有时这也会失败。如果假设输入总是有效数字,则可以使用以下方法转换字符串:
您可以在代码中使用以下选项:
为了避免浮点错误,可以使用f字符串(在Python 3.6中添加)打印/显示浮点
您可以尝试以下方法:
^{} 函数将输入存储为字符串,因此代码中出现的情况是输入两个整数,但它们存储为字符串。不能将两个字符串相乘。您只需使用
[int()][2]
函数将输入字符串转换为整数。如果要将浮点相乘,可以使用[float()][3]
函数代替int()
函数。将字符串传递到函数后,还可以将其转换为整数或浮点。大概是这样的:input()
将返回一个字符串,您必须将该字符串转换为ìnt
或float
,您可以测试输入是否为有效数字如果字符串中的所有字符都是数字字符且字符串不是空的,则
isnumeric()
将返回true注意:我将函数重命名为
mul
,因为这不是添加相关问题 更多 >
编程相关推荐