【问题标题】:Using random.choice with if/elif/else statement使用带有 if/elif/else 语句的 random.choice
【发布时间】:2017-08-10 17:18:17
【问题描述】:

我正在尝试在 python 中使用随机选择语句,以及将继续程序的 if/elif/else 语句。 random.choice 位在程序中工作得很好,因为它选择了一个随机遭遇,但是它在 if/elif/else 选项上选择了相当随机的选项。如果 random.choice 选择“一个巨大的怪物”,我希望它说“..你被活生生吃掉了”,反之亦然。目前,只有 squawk 和你慢慢接近选项似乎有效,但不一定与怪物的选择相关。这是我的代码:

print("THUMP THUMP THUMP")
print("..you turn around and you see..")
monster = ("a giant monster", "a giant eagle", "a dog")
print(random.choice(monster))
monster1 = (random.choice(monster))
time.sleep(1)
if monster1 == "a giant monster":
    print(".. you are eaten alive :(")
elif monster1 == "a giant eagle":
    print("*SQUAWK*")
else:
    print("you slowly approach")

【问题讨论】:

    标签: python if-statement random


    【解决方案1】:

    而不是运行:

    print(random.choice(monster))
    monster1 = (random.choice(monster))
    

    因此打印一个随机选择,并将另一个设置到变量中

    你应该先将选项设置成一个变量,然后打印出来,使用:

    monster1 = (random.choice(monster))
    print(monster1)
    

    【讨论】:

      【解决方案2】:

      你每次选择两个随机怪物。一个你打印,另一个你分配给monster1

      print(random.choice(monster))
      monster1 = (random.choice(monster))
      

      这两个选择大部分时间都会有所不同。

      选择一个怪物一次,然后打印该选择:

      monster1 = random.choice(monster)
      print(monster1)
      

      if..elif..else 分支在其他情况下工作正常。

      【讨论】:

      • 知道这很明显。感谢您的快速回复!
      猜你喜欢
      • 1970-01-01
      • 2017-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-07
      • 2016-02-16
      • 2022-10-01
      相关资源
      最近更新 更多