鱼C论坛

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

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

[复制链接]
发表于 2025-10-29 09:37:34 | 显示全部楼层
零基础入门学习Python封面
《零基础入门学习Python》
(最新版)
小甲鱼 著
立即购买
FERW 发表于 2025-10-29 09:36
@FishC for i in range(2, 5):
  for j in range(1,  ...


你好,鱼油!让我们来分析这段代码。

代码是:
  1. for i in range(2, 5):
  2.   for j in range(1, i):
  3.     print(i, j)
复制代码


首先,外层循环 i in range(2, 5) 会迭代 i=2, 3, 4(因为 range(2,5) 包括 2,不包括 5)。

对于每个 i,内层循环 j in range(1, i) 会迭代 j 从 1 到 i-1(因为 range(1,i) 包括 1,不包括 i)。

具体循环情况:
- 当 i=2 时,j 从 1 到 1,循环 1 次,输出 (2,1)
- 当 i=3 时,j 从 1 到 2,循环 2 次,输出 (3,1) 和 (3,2)
- 当 i=4 时,j 从 1 到 3,循环 3 次,输出 (4,1)、(4,2)、(4,3)

总输出次数:1 + 2 + 3 = 6 次。

因此,答案是 D. 6。

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

使用道具 举报

发表于 2025-10-29 09:38:06 | 显示全部楼层
FERW 发表于 2025-10-29 09:36
@FishC 下面关于 range() 的说法错误的是?
A. range ...


下面关于 range() 的说法错误的是 C。

解释如下:
- 选项 A:正确,range() 用于生成整数序列。
- 选项 B:正确,range(5) 生成序列 0, 1, 2, 3, 4。
- 选项 C:错误,range() 的参数必须是整数,不能是小数(浮点数)。例如,尝试 range(1.5) 会引发 TypeError。
- 选项 D:正确,range() 可以指定步长,例如 range(1, 10, 2) 生成 1, 3, 5, 7, 9。

因此,错误选项是 C。

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

使用道具 举报

发表于 2025-11-11 10:51:43 | 显示全部楼层
@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
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-11-11 10:53:17 | 显示全部楼层
qwerty2200 发表于 2025-11-11 10:51
@FishC 下列代码输出什么?

for i in range(3):
  ...


输出是 0,因此正确答案是 C。

解释如下:
- 循环从 range(3) 开始,即 i 取值 0、1、2。
- 当 i=0 时,条件 i == 1 为假,因此执行 print(i, end=' '),输出 "0 "(注意有一个空格)。
- 当 i=1 时,条件为真,执行 break,循环立即终止。
- 由于循环被 break 中断,else 块不会执行。
- 因此,最终输出只有 "0 "(选项 C 中的 "0" 表示输出内容为 0)。

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

使用道具 举报

发表于 2025-11-18 16:56:46 | 显示全部楼层
@FishC for i in range(2, 5):
  for j in range(1, i):
    print(i, j)
这段代码一共输出几次?
A. 3
B. 4
C. 5
D. 6
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-11-18 16:57:30 | 显示全部楼层
fishchamster 发表于 2025-11-18 16:56
@FishC for i in range(2, 5):
  for j in range(1,  ...


这段代码的输出次数可以通过分析循环结构来计算。

外层循环 i 从 2 到 4(即 range(2, 5) 包括 2、3、4)。
内层循环 j 从 1 到 i-1(即 range(1, i))。

具体迭代过程:
  • i=2 时,j 的范围是 range(1, 2)(仅 j=1),打印一次:输出 (2, 1)。
  • i=3 时,j 的范围是 range(1, 3)(j=1 和 j=2),打印两次:输出 (3, 1) 和 (3, 2)。
  • i=4 时,j 的范围是 range(1, 4)(j=1、j=2 和 j=3),打印三次:输出 (4, 1)、(4, 2) 和 (4, 3)。


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

因此,正确答案是 D. 6。

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

使用道具 举报

发表于 2025-11-22 13:19:25 | 显示全部楼层
@FishC 关于 for 循环和 while 循环,下列说法正确的是?
A. 只能用 for 循环遍历字符串
B. while 循环不能用 range
C. 两者都可嵌套使用
D. for 循环不能与 continue 配合
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-11-22 13:20:08 | 显示全部楼层
cowhead 发表于 2025-11-22 13:19
@FishC 关于 for 循环和 while 循环,下列说法正确的 ...


正确答案是 C。

以下是每个选项的详细解释:

  • A. 错误:不仅 for 循环可以遍历字符串,while 循环也可以通过索引等方式遍历字符串。例如:

    1. s = "hello"
    2. i = 0
    3. while i < len(s):
    4.     print(s[i])
    5.     i += 1
    复制代码

  • B. 错误:while 循环可以与 range 结合使用,例如通过迭代索引来模拟 range 的行为,但 range 通常更常用于 for 循环。
  • C. 正确:for 循环和 while 循环都可以嵌套使用,即在循环内部再使用另一个循环。例如:

    1. for i in range(3):
    2.     for j in range(2):
    3.         print(i, j)
    复制代码

    或者:

    1. i = 0
    2. while i < 3:
    3.     j = 0
    4.     while j < 2:
    5.         print(i, j)
    6.         j += 1
    7.     i += 1
    复制代码

  • D. 错误:for 循环可以与 continue 配合使用,continue 用于跳过当前迭代的剩余代码,直接进入下一次循环。例如:

    1. for i in range(5):
    2.     if i == 2:
    3.         continue
    4.     print(i)
    复制代码



总之,for 循环和 while 循环在 Python 中都是灵活的,可以根据需求选择使用。

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-4 00:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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