基本程序TypeError。我究竟做错了什么?

时间:2014-11-24 05:06:01

标签: python

在这个简单的程序中我做错了什么?提前谢谢。

>>> 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'
>>> 

3 个答案:

答案 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: "))