类型错误:需要一个整数我无法弄清楚

2024-05-15 17:26:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我在这段代码上工作了一段时间,突然出现了这个错误。我不知道很多。。。在

minimun = raw_input("Minimum length of any give word to be generated: ")
maximun = raw_input("Maximum length of any give word to be generated: ")
maximunWords = raw_input("Maximun number of words to be generated in the diccionary: ")
alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYX0123456789'
string = ""


create = open('wordlist.txt', 'w')
print "Creating..."
time.sleep(2)
print "Start Time: ", time.strftime('%H:%M:%S')

for i in xrange(0,maximunWords):
    for x in random.sample(alphabet,random.randint(minimun,maximun)):
        string+=x

create.write(string+'\n')
string = ""
create.close()
print "End Time: ", time.strftime('%H:%M:%S')

这个特殊的方块给了我这个错误

^{pr2}$

错误说明:

File "ACU-Tool.py", line 62, in <module>
    for i in xrange(0,maximunWords):
TypeError: an integer is required
enter code here

Tags: oftoinforinputstringrawtime
2条回答

收到TypeError的原因是maximunWords不是integer类型,而是string类型。您需要一些整数作为xrange中的第二个参数,因为您需要一些整数来确定何时“停止”该范围。在

问题是maximunWords不是整数;它是raw_input()返回的字符串。显然,xrange函数需要整数参数,而不是字符串。在

更改代码以将用户输入转换为整数,代码将更好地工作:

minimun = int(raw_input("Minimum length of any give word to be generated: "))
maximun = int(raw_input("Maximum length of any give word to be generated: "))
maximunWords = int(raw_input("Maximun number of words to be generated in the diccionary: "))

相关问题 更多 >