Python随机数生成器错误
问题描述:
你好,我刚刚开始用Python编程,我只是想做一个RNG,但有一些我不明白的错误。Python随机数生成器错误
下面的代码
import random
import time
numbersGenerated = 0
print('Hello! How many numbers do you want?')
numbersNeeded = input()
print('What would you like the minimum for the numbers be?')
Min = input()
print('And the maximum?')
Max = input()
numbersNeeded = str(numbersNeeded)
numbersGenerated = str(numbersGenerated)
while numbersGenerated < numbersNeeded:
number = random.randint(Min, Max)
number = int(number)
numbersGenerated = numbersGenerated + 1
print(number)
print()
time.sleep(2)
print('All done. Hope to see you again!')
回溯错误说
File "C:/Python32/Number_Generator.py", line 20, in <module>
number = random.randint(Min, Max)
File "C:\Python32\lib\random.py", line 215, in randint
return self.randrange(a, b+1)
TypeError: Can't convert 'int' object to str implicitly
我已经改变了线十三先令也为int但这并没有改变结果。
答
在Python 3,你应该输入从input
显式转换:
Min = int(input())
和
Max = int(input())
答
你正在做
while numbersGenerated < numbersNeeded
时numbersGenerated
和numbersNeeded
是字符串,这可能不是你想要什么。您在致电
random.randint(Min, Max)
,而Min
和Max
是字符串,它们应该是整数。不需要
number = int(number)
,它已经是一个整数。numbersGenerated = numbersGenerated + 1
再次,该变量是一个字符串