s1 = input("输入一个数:")
s2 = input("输入另一个数:")
s3 = s1 * s2
执行后分别输入两个数,报错TypeError: can’t multiply sequence by non-int of type ‘str’,结果如图:
查阅python文档可知,Python3.x 中 input() 函数接受一个标准输入数据,返回为 string 类型。
>>>a = input("input:")
input:123 # 输入整数
>>> type(a)
<class 'str'> # 字符串
>>> a = input("input:")
input:runoob # 正确,字符串表达式
>>> type(a)
<class 'str'> # 字符串
在键盘输入的数我们以为是整数,实际上在内存里并不是正整数,而是字符串,所以在进行s3 = s1 * s2计算时报错(字符串不可以相乘啊)。
解决思路:强制类型转换。
#1.代码中计算部分修改为:
s3=int(s1) * int(s2)
或者
s1 = int(input("输入一个数:"))
s2 = int(input("输入另一个数:"))
搞定!