【问题标题】:while loop end everything after it's completewhile循环完成后结束一切
【发布时间】:2017-10-28 10:53:36
【问题描述】:

所以我正在尝试制作一个抽奖程序,您可以在其中选择一种动物、字母和数字,然后将它们放入一个数组中,然后与另一个随机选择的部分进行比较。

用我称之为动物回合的东西进行测试。

我有一个用于无效条目的 while 循环,直到四个动物中的一个被接受后它才会继续。但是当它这样做时,变量 invalid 变为 false 并且它之后的编码根本不会被使用。昨晚遇到了这个问题,终于放弃睡觉了,决定写在flowgorithm上(没听说过做流程图的可以一步步编程步骤)。

我做到了,它按预期工作,我复制并粘贴它,我遇到了与昨晚完全相同的问题。

这是代码。

#import library

import random

#get variables

game = True
invalid = True
animalarray = [""]

animalarray.append("tiger")
animalarray.append("cow")
animalarray.append("turtle")
animalarray.append("bird")
lotteryarray = [""]

 #game loop

#animal round

    print("Pick a animal: ")
    print("tiger")
    print("cow")
    print("turtle")
    print("bird")
    print(" ")
    lotteryarray[0] = input()

#while loop for invalid entry

    while invalid == True:
        if lotteryarray[0] == "tiger" or lotteryarray[0] == "cow" or lotteryarray[0] == "turtle" or lotteryarray[0] == "bird":
            invalid == False
        else:
            print("Invalid entry!")
            lotteryarray[0] = input()
    print(" ")
    print("You chose " + lotteryarray[0])

game == False 

这就是我在 shell 中得到的全部内容:

Pick a animal: 
tiger
cow
turtle
bird

tiger

那里的老虎是我放入的,它没有被打印出来。

这里是 flowgorithm,就像我说的,在 flowgorithm 中这是可行的。

flowgorithm of lottery game

【问题讨论】:

    标签: while-loop boolean


    【解决方案1】:

    我想通了。

    我打印了什么是无效的,它本来是要更改为 False 的,但它没有改变,我将两个等号更改为一个,它起作用并更改了值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-09
      • 2019-03-15
      • 2021-09-09
      • 2021-08-20
      • 1970-01-01
      • 2019-03-19
      • 1970-01-01
      • 2017-04-29
      相关资源
      最近更新 更多