当前位置: 首页 > article >正文

华为仓颉语言入门(7):深入理解 do-while 循环及其应用

解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界

用法说明

do-while 表达式是一种控制循环的结构,它允许代码在每次循环之后进行条件判断。在这个表达式中,无论条件一开始是否满足,代码块都会被至少执行一次。

语法结构
do {
    // 循环体
} while (条件)

条件的判断发生在每次循环执行后。如果条件为 true,则循环继续;如果条件为 false,循环终止。因此,do-while 能确保代码块至少被执行一次。

示例:输出1到10的数字

通过 do-while 表达式,可以实现从1到10的数字输出,代码如下:

main() {
    var number = 0
    do {
        number++
        print("$(number)\t")
    } while (number < 10)
}

解释:

  • 初始化 number 为 0,之后每次循环 number 自增1并输出。
  • number 小于10时,继续循环,直到达到10停止。

输出结果:

1    2    3    4    5    6    7    8    9    10

用 do-while 计算阶乘

除了输出数字,do-while 还可以用来计算阶乘。下面是使用 do-while 计算 1 到 10 的阶乘的示例:

main() {
    var number = 0
    var factorial = 1
    do {
        number++
        factorial *= number
        println("$(number)! = $(factorial)")
    } while (number < 10)
}

解释:

  • factorial 被初始化为1。
  • 每次循环中,number 递增,并将 factorial 乘以 number,输出当前阶乘。

输出结果:

1! = 1
2! = 2
3! = 6
4! = 24
5! = 120
6! = 720
7! = 5040
8! = 40320
9! = 362880
10! = 3628800

使用 break 提前终止循环

在某些情况下,我们可能需要根据特定条件提前结束循环。此时可以使用 break 表达式,它允许立即跳出循环。

例如,下面的代码寻找一个10到100之间满足以下条件的最小数字:被3除余2且被5除余3。

main() {
    var counter = 10
    do {
        if ((counter % 3 == 2) && (counter % 5 == 3)) {
            break
        } else {
            counter++
        }
    } while (true)
    println("找到的数字:$(counter)")
}

解释:

  • counter = 10 开始,循环检查是否符合条件。
  • 满足条件时,使用 break 跳出循环,输出结果。

输出结果:

找到的数字:23

使用 continue 跳过本次循环

在循环中,continue 表达式可以用来跳过当前的某次迭代,直接进入下一次循环。

例如,下面的代码只输出1到20之间的偶数。

main() {
    var number = 0
    do {
        number++
        if (number % 2 != 0) {
            continue // 跳过奇数
        }
        print("$(number)\t")
    } while (number < 20)
}

解释:

  • 每次循环时,number 递增,检查是否为偶数。
  • 如果 number 是奇数,跳过当前迭代,直接进入下一个循环。

输出结果:

2    4    6    8    10    12    14    16    18    20

处理剩余的练习

练习 1:使用 do-while 输出1到50之间所有的9的倍数,包含9。

main() {
    var number = 9
    do {
        if (number % 9 == 0) {
            print("$(number)\t")
        }
        number++
    } while (number <= 50)
}

输出结果:

9    18    27    36    45

此代码会检查 number 是否是9的倍数,并在满足条件时输出对应的数字。


http://www.kler.cn/news/329487.html

相关文章:

  • 利用Java easyExcel库实现高效Excel数据处理
  • mysql学习教程,从入门到精通,SQL GROUP BY 子句(31)
  • 一起了解计算机神经网络
  • 【Linux】第一个小程序——进度条实现
  • 数据分析-29-基于pandas的窗口操作和对JSON格式数据的处理
  • 解决Github打不开或速度慢的问题
  • 职业技能大赛-单元测试笔记(参数化)分享
  • OpenHarmony(鸿蒙南向)——平台驱动指南【DAC】
  • 【floor报错注入】
  • 《深度学习》自然语言处理 统计、神经语言模型 结构、推导解析
  • 【css】如何设计出具有权威性的“机构”网页
  • OpenAI 推理模型 O1 研发历程:团队访谈背后的故事
  • 高防服务器有用吗?租用价格一般多少
  • 【Linux进程间通信】Linux匿名管道详解:构建进程间通信的隐形桥梁
  • HDFS Shell作业1
  • 查看 git log的过程中看到 :说明日志输出可能超出屏幕大小,系统进入了分页模式
  • UI自动化
  • TRIZ理论在机器人性能优化中的应用
  • pytorch之梯度累加
  • go基础面试题汇总第一弹
  • 双十一有哪些值得入手的好物?这五款宝藏好物不容错过!
  • pnpm依赖安装失败解决|pnpm项目从一个文件夹复制到另一个文件夹运行失败问题解决-以vbenAdmin项目为例
  • gitee公钥设置、创建库及使用
  • Pytorch基本知识
  • 04.useTitle
  • 第L6周:机器学习|支持向量机(SVM):2. 支持向量机实战
  • 深入探索机器学习中的聚类算法
  • 每日一题|983. 最低票价|动态规划、记忆化递归
  • OpenCV视频I/O(4)视频采集类VideoCapture之获取异常处理模式函数getExceptionMode()的使用
  • 【JavaEE初阶】深入理解多线程阻塞队列的原理,如何实现生产者-消费者模型,以及服务器崩掉原因!!!