Terman 发表于 2026-3-23 10:58:00

1

湘荻 发表于 2026-3-26 16:49:53

@FishC 下列代码输出什么?

for c in 'abc':
    print(c, end=' ')
else:
    print('end')

A. a b c
B. a b c end
C. end
D. a end b c

FishC 发表于 2026-3-26 16:50:22

湘荻 发表于 2026-03-26 16:49
@FishC 下列代码输出什么?

for c in 'abc':
   ...

问题:下列代码输出什么?

答案:B. a b c end

解释:
for 循环遍历字符串 'abc',每次打印当前字符,并设置 end=' '(以空格结尾,不换行)。循环正常结束后,执行 else 子句,打印 'end'。因此输出为 a b c end。

代码执行过程:

for c in 'abc':
    print(c, end=' ')# 输出 a b c 后跟空格
else:
    print('end')       # 接着输出 end

输出结果:a b c end(注意 a、b、c 之间由空格分隔,c 后有一个空格,然后紧跟 end)。

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

yeyeyeye6161 发表于 2026-4-17 23:29:16

@FishC for i in range(2, 5):
for j in range(1, i):
    print(i, j)
这段代码一共输出几次?
A. 3
B. 4
C. 5
D. 6

FishC 发表于 2026-4-17 23:29:46

yeyeyeye6161 发表于 2026-04-17 23:29
@FishC for i in range(2, 5):
for j in range(1,...

首先,分析代码:

外层循环 for i in range(2, 5) 会遍历 i = 2, 3, 4。

对于每个 i,内层循环 for j in range(1, i) 会遍历 j 从 1 到 i-1。

因此:
当 i=2 时,j 从 1 到 1,循环 1 次,打印 1 次。
当 i=3 时,j 从 1 到 2,循环 2 次,打印 2 次。
当 i=4 时,j 从 1 到 3,循环 3 次,打印 3 次。

总打印次数:1 + 2 + 3 = 6 次。

所以答案是 D. 6。

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

juzihaoda 发表于 2026-4-29 02:13:03

@FishC for i in range(2, 5):
for j in range(1, i):
    print(i, j)
这段代码一共输出几次?
A. 3
B. 4
C. 5
D. 6

FishC 发表于 2026-4-29 02:13:08

juzihaoda 发表于 2026-04-29 02:13
@FishC for i in range(2, 5):
for j in range(1,...

答案是 D. 6。
外层循环 i 取 2、3、4,内层循环 j 分别循环 1、2、3 次,共 1+2+3=6 次输出。

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

Qiudeyao 发表于 2026-4-30 17:36:57

@FishC for i in range(2, 5):
for j in range(1, i):
    print(i, j)
这段代码一共输出几次?
A. 3
B. 4
C. 5
D. 6

FishC 发表于 2026-4-30 17:37:07

Qiudeyao 发表于 2026-04-30 17:36
@FishC for i in range(2, 5):
for j in range(1,...

答案是:D

for i in range(2, 5):
for j in range(1, i):
    print(i, j)

外循环 range(2, 5) 让 i 分别取值 2、3、4。
内循环 range(1, i) 让 j 从 1 到 i-1。

- i=2 时,内循环执行 1 次(j=1)
- i=3 时,内循环执行 2 次(j=1, 2)
- i=4 时,内循环执行 3 次(j=1, 2, 3)

总次数 = 1 + 2 + 3 = 6 次。

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

SDSN 发表于 2026-6-4 15:03:24

@FishC 下列代码输出什么?

for c in 'abc':
    print(c, end=' ')
else:
    print('end')

A. a b c
B. a b c end
C. end
D. a end b c

FishC 发表于 2026-6-4 15:03:33

SDSN 发表于 2026-06-04 15:03
@FishC 下列代码输出什么?

for c in 'abc':
   ...

正确答案是 B. a b c end


for c in 'abc':
    print(c, end=' ')
else:
    print('end')


这段代码在 Python 中是一个 for-else 结构。循环正常结束(没有遇到 break)时,会执行 else 分支。
每次循环打印字符后加一个空格,所以依次输出 a b c (注意最后一个字符后也有空格)。
循环结束后,执行 print('end'),由于前面的 print 使用了 end=' ' 不换行,所以 end 会紧跟在空格后面输出,最终结果为 a b c end(并换行)。
因此选 B。

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

SDSN 发表于 2026-6-4 15:09:56

@FishC for i in range(2, 5):
for j in range(1, i):
    print(i, j)
这段代码一共输出几次?
A. 3
B. 4
C. 5
D. 6

FishC 发表于 2026-6-4 15:10:03

SDSN 发表于 2026-06-04 15:09
@FishC for i in range(2, 5):
for j in range(1,...

这段代码中,外层循环 for i in range(2, 5) 会让 i 依次取值 2、3、4。内层循环 for j in range(1, i) 的次数取决于 i 的值:
- 当 i=2 时,range(1,2) 产生 j=1,输出 1 次。
- 当 i=3 时,range(1,3) 产生 j=1,2,输出 2 次。
- 当 i=4 时,range(1,4) 产生 j=1,2,3,输出 3 次。
总输出次数为 1+2+3=6 次。

答案:D.6

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

2426222878 发表于 2026-6-20 12:30:20

@FishC for i in range(2, 5):
for j in range(1, i):
    print(i, j)
这段代码一共输出几次?
A. 3
B. 4
C. 5
D. 6

FishC 发表于 2026-6-20 12:30:29

2426222878 发表于 2026-06-20 12:30
@FishC for i in range(2, 5):
for j in range(1,...

外层循环从 range(2, 5) 开始,即 i = 2, 3, 4。
内层循环对于每个 i,执行 j in range(1, i),即循环次数为 i - 1 次。
具体计算如下:

[*]当 i = 2 时,内层循环 1 次(j = 1)。
[*]当 i = 3 时,内层循环 2 次(j = 1, 2)。
[*]当 i = 4 时,内层循环 3 次(j = 1, 2, 3)。

总输出次数 = 1 + 2 + 3 = 6。
因此答案是 D. 6。

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

Locus2026 发表于 2026-6-25 23:26:10

@FishC 下列关于 for...else 结构,错误的是?
A. else 总在循环正常结束后执行
B. 遇到 break 则不执行 else
C. for 和 else 之间不能有其他语句
D. else 可以和 for 配合使用

FishC 发表于 2026-6-25 23:26:22

Locus2026 发表于 2026-06-25 23:26
@FishC 下列关于 for...else 结构,错误的是?
A. el ...

在Python中,for...else 结构中的 else 子句只有在循环正常结束(即没有遇到 break)时才会执行。选项A和B的描述都是正确的,选项D显然正确。而选项C声称“for和else之间不能有其他语句”,这是错误的,因为循环体内可以包含任意多的语句,它们实际上就位于 for 和 else 之间。因此,错误的是C。

所以,答案应为:C

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

Locus2026 发表于 2026-6-25 23:30:19

@FishC for i in range(2, 5):
for j in range(1, i):
    print(i, j)
这段代码一共输出几次?
A. 3
B. 4
C. 5
D. 6

FishC 发表于 2026-6-25 23:30:27

Locus2026 发表于 2026-06-25 23:30
@FishC for i in range(2, 5):
for j in range(1,...

答案是 D. 6

外层循环 for i in range(2, 5) 会取 i = 2, 3, 4 共 3 次。
内层循环 for j in range(1, i) 的次数取决于 i 的值:
- 当 i = 2 时,j 取 1(1 次)
- 当 i = 3 时,j 取 1, 2(2 次)
- 当 i = 4 时,j 取 1, 2, 3(3 次)

总计 1 + 2 + 3 = 6 次输出。

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

Locus2026 发表于 2026-6-25 23:30:49

@FishC 下列代码输出什么?

for i in range(3):
    if i == 1:
      break
    print(i, end=' ')
else:
    print('Finish')

A. 0 1 2 Finish
B. 0 Finish
C. 0
D. 0 1
页: 1 2 3 [4] 5
查看完整版本: 第018讲:了不起的分支和循环(V)