while循环:
语法格式
:
while 条件:
执行语句1……
执行语句2……
适用条件:无限循环 死循环
while True:
print('条件是真的!')
代码实例:
i = 0 # 创建一个计数的变量
while i < 5: # True
print('新年快乐!')
i = i+1 # 记录循环的次数
while控制语句:
break 语句 在语句块执行过程中终止循环,并且跳出整个循环
代码实例:
i = 1
while i <= 10:
if i == 8:
print(f'吃第{i}碗米饭,吃不下了')
break
print(f'吃第{i}碗米饭')
i = i+1
continue 语句 在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环
。
代码示例:
i = 1
while i <= 10:
if i == 8:
print(f'吃第{i}个菠萝,坏掉了一个,这个不吃')
i = i + 1
continue
print(f'吃第{i}个菠萝')
i = i + 1
例题1
使用while循环操作 计算 1-101 中偶数的和
代码实例:
total = 0
for i in range(1, 102):
if i % 2 == 0:
total += i
else:
pass
print(total)
例题2
折纸比高
假设一张足够大的纸,纸张的厚度为 0.5 毫米。
请问对折多少次以后,可以超过珠穆朗玛峰的高度(最新数据:8844.43 米)。
请编写程序输出对折 次数。
注意:使用循环结构语句实现,直接输出结果不计分。
代码实例:
mulangmaPeak = 8844.43 * 1000
paper = 0.5
i = 1
while paper <= mulangmaPeak:
paper = paper * 2
print(i, paper, mulangmaPeak)
i += 1
例题3
项列求和
有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13 … 求出这个数列的前 20 项之和。要求:利用循环计算该数列的和。注意分子分母的变化规律。
注意:
a1=2, b1=1, c1=a1/b1; a2=a1+b1, b2=a1, c2=a2/b2; a3=a2+b2, b3=a2, c3=a3/b3;
…
s = c1+c2+…+c20;
s 即为分数序列:2/1,3/2,5/3,8/5,13/8,21/13 … 的前 20 项之和。
代码实例:
a = 2
b = 1
total = 0
for _ in range(20):
print(a, b)
total += a/b
a = a + b
b = a - b
print(total)
例题4
在一个停车场内,汽车、三轮摩托车共停了 48 辆,其中每辆汽车有 4 个轮子,每辆三轮摩托车
有 3 个轮子,这些车共有 172 个轮子,编程输出停车场内有汽车和摩托车的数量。
代码实例:
total = 48
for i in range(0, total + 1):
# print(i, total - i) # i 汽车
if i * 4 + (total - i) * 3 == 172:
print(i, total - i) # i 汽车