所以我试图制作一个你选择动物,字母和数字的彩票计划,将它们放入一个数组中,并与另一个随机选择的部分进行比较。
用我称之为动物的方式进行测试。
我有一个无效条目的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
老虎有我放的东西,它没有印刷。
这就是流量算法,就像我说的那样,在流程算法中可行。
答案 0 :(得分:1)
我明白了。
我打印了什么无效之后它意味着改为False并且它没有改变,我将两个等号更改为一个并且它起作用并改变了值。