迭代:while
只要测试条件满足,while
语句就会重复执行一个代码块。
通常,在代码块的末尾会有一个语句更新测试表达式中使用的变量的值,这样循环就不会无限执行。
下面是该过程的流程图:
例如,让我们遍历一个列表并打印每个元素的位置(索引)和值,直到到达列表末尾。
代码
python
cars = ["现代", "本田",
"福特", "丰田",
"宝马", "大众"]
i = 0
while i<len(cars):
print(i, cars[i])
i+=1
输出
0 现代
1 本田
2 福特
3 丰田
4 宝马
5 大众
在上面的示例中,测试条件是 i<len(cars)
,更新语句是 i+=1
。
练习
让我们看一些使用 while
迭代语句的编程问题。
1. 复利
编写一个程序,计算给定本金、利率(年复利)和总时间(年)应支付的总复利。
代码
python
prin = float(input("输入本金金额: "))
rate = float(input("输入年利率: "))
time = int(input("输入贷款期限(年): "))
amt = prin
while time > 0:
amt += rate*amt/100
time = time - 1
print("应付总利息:", amt - prin)
输出
输入本金金额: 500000
输入年利率: 5
输入贷款期限(年): 3
应付总利息: 78812.5
2. 阶乘
正整数 n
的阶乘,表示为 n!
,是所有小于或等于 n
的正整数的乘积。 n! = n×(n-1)×(n-2)...3×2×1
编写一个程序,为给定的 n
计算 n!
(假设 n
大于 0
)。
代码
python
n = int(input("输入 n: "))
factorial = 1
while n > 0:
factorial *= n
n = n - 1
print("n! :", factorial)
输出
输入 n: 6
n! : 720