我的问题-我不知道为什么会有关键字continue
,该关键字应保留3的值并进一步。实际上,我有一个无限循环-也就是说,它使程序崩溃。
tab = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
i = 0
while i < len(tab):
print(tab[i])
if tab[i] == 3:
continue
i+=1
答案 0 :(得分:3)
您似乎正在尝试遍历列表,直到找到3
,然后找到break
。做这样的事情:
items = [1,2,3,4,5]
for item in items:
if item == 3:
break
关键字continue
将传递到循环的下一个迭代,其中break
将停止循环。
答案 1 :(得分:1)
continue
关键字在循环的下一次迭代中继续。
对于您而言,它阻止执行语句i+=1
。
发生了什么事
tab[i] = 3
时,它将继续循环的下一次迭代,并且i+=1
永远不会执行,因此i
仍为3,并且永远不会递增。它永远做到这一点。 如果要退出循环,可以使用break
语句代替continue
。
有关更多信息,您可以在https://docs.python.org/3/tutorial/controlflow.html上的continue
关键字上阅读
答案 2 :(得分:1)
您正在使用continue
关键字,但我认为您想要break
。
您的代码将永远运行,因为i
永远不会迭代3。一旦i == 4
,它将输入您的if语句并继续循环。由于继续进行,因此此后再也不会迭代。
答案 3 :(得分:1)
我认为所有答案都假设OP希望使用BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//sebbo.net//ical-generator//EN
NAME:My ical invite
X-WR-CALNAME:My ical invite
BEGIN:VEVENT
UID:5f44e98484341386e4523ba1@dominname
SEQUENCE:0
DTSTAMP:20200825T103548Z
DTSTART:20200826T183000Z
DTEND:20200826T190000Z
SUMMARY:testing meeting
DESCRIPTION:meeting Description : testing
ORGANIZER;CN="peter":mailto:user1@gmail.com
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION;RSVP
=TRUE;CN="john";EMAIL=user@gmail.com:MAILTO:user@gmail.com
STATUS:CONFIRMED
END:VEVENT
END:VCALENDAR
而不是break
。
但是,如果需要在while循环中使用continue,请确保您执行了递增/递减操作 高于 continue语句,因为continue语句跳转到在while循环的顶部,根据您的情况,continue
仍为3。
在do-while循环中的i
语句分别跳到循环的底部。因此,在您的情况下,您有两个选择,要么在continue之上递增,要么使用for循环。
continue
OR
tab = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
i = -1
while i < len(tab):
i += 1
print(tab[i])
if tab[i] == 3:
continue
答案 4 :(得分:0)
因为您使用的continue
关键字会跳过其余代码。
一旦我达到3,它就会跳过i+=1
命令。看来您想使用关键字break
。您也可以这样做:
for i in tab:
print(i)
if i == 3:
break