【发布时间】: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 中这是可行的。
【问题讨论】:
标签: while-loop boolean