【发布时间】:2020-11-08 20:46:35
【问题描述】:
我需要你的帮助。我开始学习 python 并学习了一些理论,我决定尝试一些简单的东西(将其结果与给定变量的值进行比较的代码)。我有一个变量“pin”并为其分配了一个数字列表。然后我创建了另一个变量“numArray”并为其分配了一个列表。分配了一个空列表的另一个变量“访问”。 现在,我嵌套了“for循环”,它遍历“numArray”,结果被重新分配给“access”变量,然后每次都打印出“access”。 接下来,我比较 'access' 和 'pin',如果两者相同,则打印一条语句并退出循环。到目前为止,一切似乎都很好。而不是在 {0,4,5,6] 结束的循环,它到达那里,打印语句,跳过 - [0,4,5,7],[0,4,5,8],[[0, 4,5,9] - 并从 [0,4,6,0] 继续循环。
我知道我做错了什么,但我不知道是什么。如果有人可以帮助我找到问题所在,或者甚至如何以更有效的方式编写此内容,我将很高兴,因为我计划随着知识的进步对此进行扩展。顺便说一句,我只是在练习如何使用条件和循环。提前致谢。
import time
pin = [0,4,5,6]
numArray = [0,1,2,3,4,5,6,7,8,9]
found = True
access = []
while found:
for p1 in numArray:
for p2 in numArray:
for p3 in numArray:
for p4 in numArray:
access = [p1,p2,p3,p4]
time.sleep(0.01)
print(access)
if access == pin:
print('Access Granted - The pin is:', access)
found = False
break
else:
continue
【问题讨论】:
-
你
break在五个循环中。只有最里面的for p4 in numArray会被 break 语句退出。 -
这能回答你的问题吗? How to break out of multiple loops?
-
-
@mkrieger1 是的。虽然有一些复杂的例子,但我会花一些时间来研究答案。谢谢
标签: python python-3.x for-loop if-statement nested-loops