解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界
用法说明
do-while
表达式是一种控制循环的结构,它允许代码在每次循环之后进行条件判断。在这个表达式中,无论条件一开始是否满足,代码块都会被至少执行一次。
语法结构
cangjie
do {
// 循环体
} while (条件)
条件的判断发生在每次循环执行后。如果条件为 true
,则循环继续;如果条件为 false
,循环终止。因此,do-while
能确保代码块至少被执行一次。
示例:输出1到10的数字
通过 do-while
表达式,可以实现从1到10的数字输出,代码如下:
cangjie
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 的阶乘的示例:
cangjie
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。
cangjie
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之间的偶数。
cangjie
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。
cangjie
main() {
var number = 9
do {
if (number % 9 == 0) {
print("$(number)\t")
}
number++
} while (number <= 50)
}
输出结果:
9 18 27 36 45
此代码会检查 number
是否是9的倍数,并在满足条件时输出对应的数字。