提问人:Virtx_x 提问时间:8/16/2023 更新时间:8/16/2023 访问量:50
我的 while True: 循环没有像第一组代码那样继续循环
My while True: loop is not continuing to loop like the first set of code
问:
嘿,这里的 python 初学者,我正在开发一个小冒险游戏,我不知道如何使用我的循环。我的第一个是一段时间后的 True: 循环,并在用户输入是其他任何内容时继续循环代码。但是,当在第 20-34 行重复相同的循环时,循环似乎不再起作用,脚本就结束了。
``
冒险项目
导入时间
while True:
print('A man approachs you with his sword drawn and an angry look spread across his face, what do you do?')
print('1. Run away')
print('2. Punch the man')
fightOrRun = input()
if fightOrRun in {'2','2.'}:
print('Man: "Your going to get it!"')
break
elif fightOrRun in {'1','1.'}:
print('Man: "Where do you think your going!"')
break
else:
print('Not a valid input!')
continue
while True:
if fightOrRun in {'2','2.'}:
print('1. Adios loser!')
fightOrRun = input()
break
elif fightOrRun in {'1','1.'}:
print('1. I dont know')
print('2. Im sorry')
fightOrRun = input()
break
else:
print('Please enter a valid input!')
continue
``
我尝试将后半部分添加到第一部分,而 True: 循环,但它只会导致后半部分的错误是“代码无法访问 pylance”
答:
0赞
yue zhang
8/16/2023
#1
变量 'fightOrRun' 未在第二个 while 循环中定义。 你可以尝试在这个循环的开头定义'fightOrRun',或者把它放出循环。
评论
0赞
Virtx_x
8/16/2023
如果我这样做,它会破坏一切
0赞
AlecBrooks
8/16/2023
#2
代码的后半部分无法访问的原因是,在第一个条件中,所有选项都会导致 a 或 .这意味着它之后的所有代码都无法访问。break
continue
我怀疑删除这些语句会给你带来你想要的结果。break
您可以在控制流的 python 文档中阅读有关它的更多信息
评论
0赞
Virtx_x
8/16/2023
在实施您的建议后,刚才的代码永远不会结束。
0赞
AlecBrooks
8/17/2023
目前尚不清楚您提供的代码的预期行为是什么。如果您希望每个循环都是独立的,那么您需要确保它们缩进在同一级别上,以便第二个循环不包含在第一个循环中。
评论