Python随机数生成器错误



你好,我刚开始用Python编程,我只是想制作一个RNG,但有一些错误我不理解。

这是代码

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:Python32librandom.py", line 215, in randint
return self.randrange(a, b+1)
TypeError: Can't convert 'int' object to str implicitly

我已经把第十三行改成了int,但这并没有改变结果。

  1. numbersGeneratednumbersNeeded是字符串时,您正在执行while numbersGenerated < numbersNeeded,这可能不是您想要的。

  2. 您正在调用random.randint(Min, Max),而MinMax是字符串,它们应该是整数。

  3. 不需要number = int(number),它将已经是一个内部

  4. numbersGenerated = numbersGenerated + 1,变量是字符串

在Python 3中,应该显式地转换input的输入:

Min = int(input())

Max = int(input())

最新更新