CQL 教程/CQL 基础/循环

循环

掌握 CQL 的循环结构:遍历容器、范围、当循环,以及中断、继续与循环否则等控制手段。

8.1循环 遍历容器

循环 可以逐个取出容器中的元素:

cql
水果 = ["苹果", "香蕉", "橙子"]
循环 水果 在 水果:
    打印(水果)

8.2循环 与 范围

范围 生成等差数列,支持起止与步长参数,常用于固定次数的循环:

cql
循环 i 在 范围(5):
    打印(i)          # 0 1 2 3 4

循环 i 在 范围(2, 6):
    打印(i)          # 2 3 4 5

循环 i 在 范围(0, 10, 2):
    打印(i)          # 0 2 4 6 8

8.3当 循环

循环在条件成立时反复执行,适合不确定次数的场景:

cql
计数 = 0
当 计数 < 5:
    打印("计数:", 计数)
    计数 += 1

8.4中断 / 继续 / 跳过

中断 终止整个循环,继续 跳过本次进入下一轮,跳过 是空语句占位:

cql
循环 i 在 范围(10):
    如果 i == 3:
        继续            # 跳过本次
    如果 i == 7:
        中断            # 终止循环
    打印(i)             # 0 1 2 4 5 6
跳过                   # 空语句占位

8.5循环...否则

循环末尾的 否则 块只在循环未被中断时执行,可用于判断是否完整走完循环:

cql
循环 i 在 范围(3):
    打印(i)
否则:
    打印("循环正常结束")

循环 i 在 范围(3):
    如果 i == 1:
        中断
否则:
    打印("不会执行")

第二个例子因为循环被 中断,所以 否则 块不会执行。

8.6嵌套循环

循环可以嵌套使用,常用于处理二维结构或生成组合:

cql
循环 i 在 范围(3):
    循环 j 在 范围(3):
        打印(i, j)

8.7枚举 遍历

枚举 同时给出索引与值,配合 格式化 可以输出整齐的序号列表:

cql
名字 = ["甲", "乙", "丙"]
循环 索引, 值 在 枚举(名字):
    打印("  {} -> {}".format(索引, 值))