我不断收到类型错误,不知道为什么

时间:2018-11-04 21:13:12

标签: python typeerror

def printWord(a,b):
    a= raw_input ("What would you like me to say?")
    b= raw_input ("How many times would you like me to say it?")
    int(float(b))
    for i in range(b):
        print a

此代码不断给我这个错误:

line 10, in printWord
  for i in range(b):
TypeError: range() integer end argument expected, got str.

2 个答案:

答案 0 :(得分:3)

您对这一行有正确的想法:

int(float(b))

,但原位不会改变b。您必须保留结果。使用这个:

b = int(float(b))

答案 1 :(得分:1)

调用int(float(b))不会更改b的状态。在该行之后,b仍然是字符串,而range()需要一个整数。我可能会将该行更改为b = int(b),以将b修改为您需要的样子。