在这个简单的程序中我做错了什么?提前谢谢。
>>> x=input("x: ")
x: 2
>>> y=input("y: ")
y: 4
>>> print (y*x)
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
print (y*x)
TypeError: can't multiply sequence by non-int of type 'str'
>>>
答案 0 :(得分:1)
x,y是字符串。你需要做int(x)。如果其中任何一个不是整数(空(仅用户按下返回),空格,符号,字母),您可能希望捕获异常。
print (int(y) * int(x))
[这里必须与其他问题重复...]
答案 1 :(得分:0)
您可能已将input
作为"4"
输入。只有str
类型。如果输入4
进行输入,那么t将为int
然后你的程序运行正常。如果你把它作为string
,那么使用
print (int(x)*int(y))
使用type(x)
查看类型。
答案 2 :(得分:-2)
input()方法返回一个字符串值。要获取数值,请使用eval()
x = eval(input("x: "))