我在这里找到了一些东西,但我无法按照自己喜欢的方式工作:
def nested_loops():
import random
option1 = random.randint(1,3)
option2 = random.randint(1,3)
option3 = random.randint(1,3)
上面的位会产生数字但它们可能是相同的。 低于此可以解决这个问题,但它没有,但它似乎只是降低了可能性
while option1 == option2:
option1 = random.randint(1,3)
while option1 == option3:
option1 = random.randint(1,3)
while option2 == option3:
option2 = random.randint(1,3)
print(option1)
print(option2)
print(option3)
相当明显它只是打印它们
答案 0 :(得分:21)
您可以使用random.sample
从迭代中获取任意数量的独特“随机”项目 - 无需使用嵌套循环:
>>> option1, option2, option3 = random.sample(range(1, 4), 3)
>>> option1, option2, option3
(3, 1, 2)
答案 1 :(得分:0)
您的代码中的错误是,如果option1和option2不同,则不会输入第一个while,并且您不会检查它们中的任何一个是否与option3相等。