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 小助理,如未能正确解答您的问题,请继续追问。
页: 1 2 3 [4]
查看完整版本: 第018讲:了不起的分支和循环(V)