I';我在python中遇到了与randint()和randrange()相关的错误

I';我在python中遇到了与randint()和randrange()相关的错误,python,valueerror,Python,Valueerror,我的代码应该创建一个随机字符串、一个填充了随机数和字符串的数组以及一个随机整数。 这是我的密码: 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

我的代码应该创建一个随机字符串、一个填充了随机数和字符串的数组以及一个随机整数。 这是我的密码:

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)
回溯(最近一次呼叫最后一次):
文件“main.py”,第6行,在
f=[randint(1,randrange(1,10)),randint(1,randrange(1,56)),randint(1,randrange(1,7)),str(randint(150,randrange(1200))]
文件“/usr/local/lib/python3.6/random.py”,第221行,在randint中
返回自随机范围(a、b+1)
文件“/usr/local/lib/python3.6/random.py”,第199行,随机范围
raise VALUERROR(“randrange()(%d,%d,%d)”的空范围%(istart、istop、宽度))
ValueError:randrange()的范围为空(150,39,-111)
str(randint(150,randrange(1200)))
可以指定一个空范围

ValueError:randrange()(150,39,-111)的空范围
150>39,这使其成为空范围,因为起始值高于停止值

如果在
randrange()
中有一个有效的范围,例如
randint(150,randrange(150200))

您将得到正确的回答:
151


谢谢你帮了我的忙。我转到了你发送的链接。我理解这个问题,谢谢你的帮助。我需要完成的事情可以用你提出的方法来完成。谢谢