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 汽车