首页 > 解决方案 > 多条件 if 语句

问题描述

如何编写代码,以便在随机生成 3 位数字(前 2 位可以是 0)的游戏中检查该数字是否包含 9。但是,该数字不能是 963 或 369。该数字是当前生成的以一种独立生成每个数字的方式。每个数字都是一个不同的变量,以便更容易检查获胜条件。

我当前的代码如下供参考。我知道为什么它不起作用,但我没有解决方案。

TABLE = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

a=0
b=0
c=0
d=0
e=0
for pp in range (100000):
    rand1 = random.randint(0,9)
    rand2 = random.randint(0,9)
    rand3 = random.randint(0,9)
    
    word1 = TABLE[rand1]
    word2 = TABLE[rand2]
    word3 = TABLE[rand3]
    
    print(word1, word2, word3)

    if (word1 == 9 and word2 != 6 and word3 != 3 and word2 != 9 and word3 != 9) or word2 == 9 and word1 != 9 and word3 != 9 or (word3 == 9 and word1 != 3 and word1 != 7 and word2 != 8 and word2 != 6 and word2 != 9 and word1 != 9):
        a +=1
print(a)

标签: pythonif-statementrandomnumbers

解决方案


number = (word1, word2, word3)
if 9 in number and number != (3, 6, 9) and number != (9, 6, 3):
    ...

?

除此之外,

  • 间接通过TABLE看起来完全没用。
  • 为什么要初始化一堆未使用的变量?

推荐阅读