Python——while循环

1. while循环结构

格式:

while 条件:

  执行语句1……

  执行语句2……

例:

# 无限循环 死循环

while True:

  print('条件是真的!')

例:

i = 0 # 创建一个计数的变量

while i < 5: # True

  print('新年快乐!')

  i = i+1 # 记录循环的次数

range(i = 1, while i < 10:, i = i+1)

 

2. 控制语句

break 语句 终止循环,并且跳出整个循环

continue 语句 终止当前循环,跳出该次循环,执行下一次循环

例:

i = 1

while i <= 10:

  if i == 8:

    print(f'吃第{i}个菠萝,吃不下了')

    break

  print(f'吃第{i}个菠萝')

  i = i+1

例:

i = 1

while i <= 10:

  if i == 8:

    print(f'吃第{i}个菠萝,坏掉了一个,这个不吃')

    i = i + 1

    continue

  print(f'吃第{i}个菠萝')

  i = i + 1

3. 实战练习

例:使用while循环操作 计算 1-101 中偶数的和

i = 2

total = 0

while i <= 101:

  total += i

  i += 2

print(total)

例:打印空心矩形

a = 5

for i in range(1, a + 1): # 决定列数

  if i == 1 or i == a:

    print('*' * a) # 打印第一行和最后一行

  else:

    print('*' + ' ' * (a - 2) + '*') # 打印空心行

例:折纸比高

假设一张足够大的纸,纸张的厚度为 0.5 毫米。

请问对折多少次以后,可以超过珠穆朗玛峰的高度(最新数据:8844.43 米)。

请编写程序输出对折次数。

i = 0

total = 0.5

while total <= 8844.43 * 1000:

  total *= 2

  i += 1

print(i)

例:

在一个停车场内,汽车、三轮摩托车共停了 48 辆,

其中每辆汽车有 4 个轮子,每辆三轮摩托车有 3 个轮子,这些车共有 172 个轮子,

编程输出停车场内有汽车和摩托车的数量。

total = 48

for i in range (0, total + 1):

  if i * 4 + (total - i) * 3 == 172:

    print(i, total - i)

例:项列求和

有一分数序列: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

s = 0

for _ in range (20):

  c = a / b

  s += c

  x = a

  a += b

  b = x

print(s)

posted @ 2023-02-20 09:46  豆汤包饺子  阅读(301)  评论(0)    收藏  举报