FishC 发表于 2026-7-15 20:06:52

EyreSTONE 发表于 2026-07-15 20:06
@FishC while 循环正常结束时,else 语句会被执行吗? ...

在Python中,while...else 结构里,else 语句只有在循环正常结束(即没有执行 break)时才会执行。如果循环因为 break 提前终止,则 else 不会执行。continue 不影响 else 的执行。因此,正常结束时 else 语句会被执行,正确答案是 A. 会。

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

lsttsl 发表于 2026-7-20 08:26:47

@FishC 下列代码输出为?

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

A. ok
B. 无输出
C. 1 2 ok
D. 报错

FishC 发表于 2026-7-20 08:26:53

lsttsl 发表于 2026-07-20 08:26
@FishC 下列代码输出为?

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

答案是 B. 无输出

while...else 中的 else 只在循环正常结束(没有被 break 中断)时执行。代码中当 i 变为 4 时触发了 break,因此 else 块不会执行,程序没有任何输出。

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

清闲散人 发表于 2026-7-25 17:04:50

@FishC while 循环正常结束时,else 语句会被执行吗?
A. 会
B. 不会
C. 只在遇到 break 时才会
D. 只在遇到 continue 时才会

csenju 发表于 前天 19:57

@FishC 下列代码输出多少行?

i = 1
while i <= 3:
    j = 1
    while j <= 2:
      print(i, j)
      j += 1
    i += 1

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

FishC 发表于 前天 19:57

csenju 发表于 2026-08-19 19:57
@FishC 下列代码输出多少行?

i = 1
while i

鱼油你好!你给出的代码不完整哦,只有循环的开头,没有循环体,所以无法直接确定输出多少行。

如果补全成常见写法:

i = 1
while i:
    print(i)
    i += 1

那么 i 会一直增加,条件永远为真,程序会无限循环输出,直到被手动终止。

如果代码还有其他条件,请把完整代码贴出来,我再帮你具体分析行数。

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