鱼C论坛

 找回密码
 立即注册
123
返回列表 发新帖
楼主: 小甲鱼

[快问快答] 第017讲:了不起的分支和循环(IV)

[复制链接]
发表于 2025-11-17 16:43:44 | 显示全部楼层
零基础入门学习Python封面
《零基础入门学习Python》
(最新版)
小甲鱼 著
立即购买
需求又改了 发表于 2025-11-17 16:43
@FishC 下列关于 continue 语句的描述,错误的是?
A ...


错误选项是 B。

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

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

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-12-15 19:34:24 | 显示全部楼层
2025-12-15_193407.png
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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。

简要分析:

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


以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2026-1-26 10:40:55 | 显示全部楼层
@FishC 在嵌套循环中,想一次性跳出两层循环推荐使用?
A. 两次 break
B. 设置布尔标志并在外层判断
C. continue
D. pass
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2026-1-26 10:41:27 | 显示全部楼层
@FishC 在嵌套循环中,想一次性跳出两层循环推荐使用?
A. 两次 break
B. 设置布尔标志并在外层判断
C. continue
D. pass
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2026-1-26 10:41:30 | 显示全部楼层
默熵 发表于 2026-01-26 10:40
@FishC 在嵌套循环中,想一次性跳出两层循环推荐使用 ...


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

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

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


  1. found = False
  2. for i in range(5):
  3.     for j in range(5):
  4.         if i == 2 and j == 3:  # 示例条件
  5.             found = True
  6.             break  # 跳出内层循环
  7.     if found:
  8.         break  # 跳出外层循环
复制代码


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

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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


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

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

示例代码:


  1. # 假设要在满足条件时跳出两层循环
  2. flag = False
  3. for i in range(3):
  4.     for j in range(3):
  5.         print(f"i={i}, j={j}")
  6.         if i == 1 and j == 1:
  7.             flag = True
  8.             break  # 跳出内层循环
  9.     if flag:
  10.         break  # 跳出外层循环
复制代码


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

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 昨天 15:48 | 显示全部楼层
@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?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 昨天 15:49 | 显示全部楼层
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 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-2-6 18:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表