FishC 发表于 2025-11-17 16:43:44

需求又改了 发表于 2025-11-17 16:43
@FishC 下列关于 continue 语句的描述,错误的是?
A ...

错误选项是 B。

continue 语句只能用于循环结构(如 for 或 while 循环)中,不能放在任何地方。如果放在循环外,会导致语法错误。

其他选项描述正确:
- A:正确,continue 会跳到当前循环的末尾,并继续判断循环条件。
- C:正确,continue 只能用于循环结构中。
- D:正确,continue 会导致当前迭代的剩余代码不再执行。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

LZzz_Snail 发表于 2025-12-15 19:34:24

七七787 发表于 2025-12-16 10:55:09

@FishC 执行以下代码会输出多少个数字?

i = 0
while i < 10:
    i += 1
    if i % 2 == 0:
      continue
    print(i)

A. 4
B. 5
C. 6
D. 10

FishC 发表于 2025-12-16 10:55:44

七七787 发表于 2025-12-16 10:55
@FishC 执行以下代码会输出多少个数字?

i = 0
wh ...

代码执行过程如下:循环从 i=0 开始,每次循环先将 i 加1,然后判断 i 是否为偶数,如果是偶数则跳过打印,只有奇数才会被打印。在 i 从1到10的循环中,奇数有1、3、5、7、9,共5个数字,因此输出5个数字。

所以答案是 B.5。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

refreshmushroom 发表于 2026-1-21 02:02:19

@FishC 下列代码会输出什么?

i = 0
while i < 3:
    i += 1
    if i == 2:
      continue
    print(i, end=' ')

A. 1 2 3
B. 1 3
C. 2 3
D. 1 2

FishC 发表于 2026-1-21 02:02:53

refreshmushroom 发表于 2026-01-21 02:02
@FishC 下列代码会输出什么?

i = 0
while i < 3: ...

下列代码会输出什么?

i = 0
while i < 3:
    i += 1
    if i == 2:
      continue
    print(i, end=' ')

A. 1 2 3
B. 1 3
C. 2 3
D. 1 2

代码输出结果为:1 3,因此正确答案是 B。

简要分析:

i=0
第一次循环:i 变为 1,不满足 i==2,打印 1
第二次循环:i 变为 2,满足 i==2,执行 continue,跳过打印
第三次循环:i 变为 3,不满足 i==2,打印 3
循环结束,输出:1 3


以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

默熵 发表于 2026-1-26 10:40:55

@FishC 在嵌套循环中,想一次性跳出两层循环推荐使用?
A. 两次 break
B. 设置布尔标志并在外层判断
C. continue
D. pass

默熵 发表于 2026-1-26 10:41:27

@FishC 在嵌套循环中,想一次性跳出两层循环推荐使用?
A. 两次 break
B. 设置布尔标志并在外层判断
C. continue
D. pass

FishC 发表于 2026-1-26 10:41:30

默熵 发表于 2026-01-26 10:40
@FishC 在嵌套循环中,想一次性跳出两层循环推荐使用 ...

在嵌套循环中,一次性跳出两层循环推荐使用 B. 设置布尔标志并在外层判断。

原因如下:
- break 只能跳出当前所在的循环层,若直接使用两次 break,需在内层循环后立即跟一个 break,但这样不够灵活,通常需结合条件判断。
- continue 是跳过当前迭代的剩余部分,继续下一次迭代,不能跳出循环。
- pass 是空语句,仅用于保持语法完整性,不改变执行流程。

推荐使用布尔标志的方法,因为它逻辑清晰,易于控制。示例:


found = False
for i in range(5):
    for j in range(5):
      if i == 2 and j == 3:# 示例条件
            found = True
            break# 跳出内层循环
    if found:
      break# 跳出外层循环


这样,当满足条件时,会先跳出内层循环,然后通过标志判断再跳出外层循环,从而实现一次性跳出两层循环的效果。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

FishC 发表于 2026-1-26 10:42:10

默熵 发表于 2026-01-26 10:41
@FishC 在嵌套循环中,想一次性跳出两层循环推荐使用 ...

推荐使用B. 设置布尔标志并在外层判断。

在嵌套循环中,break只能跳出当前所在的循环层。要一次性跳出两层循环,可以设置一个布尔标志变量,在内层循环跳出时设置标志,然后在外层循环检查该标志并再次使用break跳出。这是一种简单有效的常见做法。

示例代码:


# 假设要在满足条件时跳出两层循环
flag = False
for i in range(3):
    for j in range(3):
      print(f"i={i}, j={j}")
      if i == 1 and j == 1:
            flag = True
            break# 跳出内层循环
    if flag:
      break# 跳出外层循环


其他选项分析:
- A. 两次 break:不能直接一次性跳出,需要在外层额外判断。
- C. continue:用于跳过当前迭代,无法跳出循环。
- D. pass:空操作,不改变循环流程。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

jiangyadong 发表于 4 天前

@FishC 下列代码输出为?

i = 1
while i <= 3:
    i += 1
    if i > 3:
      break
else:
    print('ok')

A. ok
B. 无输出
C. 1 2 ok
D. 报错      为何i最终可以为4?

FishC 发表于 4 天前

jiangyadong 发表于 2026-02-05 15:48
@FishC 下列代码输出为?

i = 1
while i <= 3:
...

答案:B. 无输出

解释:
1. while 循环的条件是 i <= 3,初始 i=1。
2. 循环体内每次先将 i 加 1,然后判断是否大于 3:
   - 第一次:i 变为 2,不满足 i > 3。
   - 第二次:i 变为 3,不满足 i > 3。
   - 第三次:i 变为 4,满足 i > 3,执行 break 跳出循环。
3. 由于循环是通过 break 终止的,while 的 else 子句不会执行,因此没有输出。

关于“i 最终可以为 4”的疑问:
在第三次循环时,i 从 3 增加为 4,随后立即判断 i > 3 为真,执行 break。循环被强制跳出,不再检查 while 条件,因此 i 的值可以变为 4。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: 1 2 [3]
查看完整版本: 第017讲:了不起的分支和循环(IV)