我的代码应该创建一个随机字符串,一个填充有随机数字和字符串的数组以及一个随机整数。这是我的代码:
from random import randint, randrange
x = randint(1, randrange(1, 200))
f = [randint(1, randrange(1, 200)), randint(1, randrange(1, 200)), randint(1, randrange(1, 200)), str(randint(1, randrange(1, 200)))]
b = 5
这里是错误:
Traceback (most recent call last):
File "main.py", line 6, in <module>
f = [randint(1, randrange(1, 10)), randint(1, randrange(1, 56)), randint(1, randrange(1, 7)), str(randint(150, randrange(1, 200)))]
File "/usr/local/lib/python3.6/random.py", line 221, in randint
return self.randrange(a, b+1)
File "/usr/local/lib/python3.6/random.py", line 199, in randrange
raise ValueError("empty range for randrange() (%d,%d, %d)" % (istart, istop, width))
ValueError: empty range for randrange() (150,39, -111)
str(randint(150, randrange(1, 200)))
可以指定一个空范围。
[ValueError: empty range for randrange() (150,39, -111)
150> 39,由于您的起始值高于停止值,因此它是一个空范围。
如果您在randrange()
中有有效范围,例如randint(150, randrange(150, 200))
您将获得正确的答复:151
https://docs.python.org/3/library/random.html#functions-for-integers