while循环结束后的所有内容

时间:2017-10-28 10:53:36

标签: while-loop boolean

所以我试图制作一个你选择动物,字母和数字的彩票计划,将它们放入一个数组中,并与另一个随机选择的部分进行比较。

用我称之为动物的方式进行测试。

我有一个无效条目的while循环,它将不会继续,直到接受四个动物中的一个。但是当它这样做时,变量invalid变为false,并且在它之后的编码根本不被使用。我昨晚遇到了这个问题,当我最终放弃并上床睡觉时,我决定将其写出来用于算法(如果你还没有听说它制作流程图,你可以通过编程随着它一步一步)。

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

这是代码。

#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 of lottery game

1 个答案:

答案 0 :(得分:1)

我明白了。

我打印了什么无效之后它意味着改为False并且它没有改变,我将两个等号更改为一个并且它起作用并改变了值。