首页 > 解决方案 > 当 [1, 2] 出来时我怎么能停下来。是'break'的错误吗?

问题描述

我想打印 2 个随机数,除非数字是[1, 2]. 但是,我尝试过的代码即使[1, 2]出现也不会停止。

我尝试了 3 种类型的while循环,但它们都有类似的问题。

import random
count == 0
while count == 0:
    print(random.sample(range(1, 7), 2))
    if random.sample(range(1, 7), 2) == [1, 2]:
        break

while random.sample(range(1, 7), 2) != [1, 2, 3]:
    print(random.import(range(1, 7), 2))

while 1:
    print(random.sample(range(1, 7), 2))
    if random.sample(range(1, 7), 2) == [1, 2]:
        break

我想在 [1, 2] 出现时停止。

标签: python

解决方案


您声明中的评估与您if打印的完全不同。

print(random.sample(range(1, 7), 2))  # this prints 2 numbers
if random.sample(range(1, 7), 2) == [1, 2]:  # but thhis calls random again and gets a 2 totally different numbers.

您需要将您的数字分配给变量并使用[1, 2]

试试这个(你也可以改变你的同时,你不需要计数器):

import random

while True:
    nums = random.sample(range(1, 7), 2)
    print(nums)
    if nums == [1, 2]:
        break

推荐阅读