18798332503 发表于 2021-5-31 19:38:19

continue

continue是跳出本轮循环,并开始下一轮循环
for year in range(2018, 2050):
    if (year % 4 == 0) and (year % 100 != 0) or (year % 400 == 0):
      print(year)
        continue

2020
2024
2028
2032
2036
2040
2044
2048

按道理说打印的数据2020是跳过的,我理解错了?

wp231957 发表于 2021-5-31 19:57:45

那不得有先来后到吗,print语句在前啊

18798332503 发表于 2021-5-31 20:10:20

wp231957 发表于 2021-5-31 19:57
那不得有先来后到吗,print语句在前啊

意思是说continue在这儿没有起到作用?

wp231957 发表于 2021-5-31 20:36:35

18798332503 发表于 2021-5-31 20:10
意思是说continue在这儿没有起到作用?

是的

dragon_xiao 发表于 2021-5-31 23:52:02

continue 是跳过本轮循环,也就是continue 后面语句不执行,你这里continue后面没有语句,所以不起作用啊

fc5igm 发表于 2021-6-1 02:43:30

for year in range(2018, 2050) 的含义是当year等于介于2018至2050之间的数值时。其中不包括2018和2050。那后面的2019,2020,显然都在year的取值范围里。没有理由不进行%4 %100 %400的判定。而经过判定,2020显然是符合print的。
而且continue又不是break,continue只会从continue的位置调回本轮循环的最初位置,然后重新开始循环。break才是直接终止且跳过当前循环。

18798332503 发表于 2021-6-1 18:09:20

dragon_xiao 发表于 2021-5-31 23:52
continue 是跳过本轮循环,也就是continue 后面语句不执行,你这里continue后面没有语句,所以不起作用啊

好的,了解了

18798332503 发表于 2021-6-1 18:10:06

fc5igm 发表于 2021-6-1 02:43
for year in range(2018, 2050) 的含义是当year等于介于2018至2050之间的数值时。其中不包括2018和2050。那 ...

好的,了解了
页: [1]
查看完整版本: continue