当前位置:首页>python>Python教程(27)while循环案例

Python教程(27)while循环案例

  • 2026-10-11 06:47:43
Python教程(27)while循环案例

你好,我是雨霖八珞,同名B站UP主。关注合集不迷路。以下内容为个人教学,真诚分享,欢迎交流。

上一篇我们学了 while 循环的基本语法,知道它可以处理“不确定循环次数”的情况,

今天我们通过三个案例,来感受while循环的实际应用。


案例一:小球弹跳问题

一个小球从100m的高度落下,每次弹回原高度的一半,假定小球的最小弹起高度为0.01m。问:

(1)总共弹起多少次?

(2)小球这个过程中走了多少米?

分析:

如图所示,初始高度为100,即 high = 100

第一次下落100米,弹起50米;

第二次下落50米,弹起25米

……

这个过程反复循环,什么时候结束呢?

小球的最小弹起高度为0.01m,也就意味着只要弹起高度≥0.01m,还可以继续循环

程序代码如下:

关键语句说明:

1、循环体包含三件事

  • 计算总路程:原来走过的路程 + 下落的高度 + 弹起的高度

  • 弹起的高度始终是落下高度的一半

  • 计数器加1

2、while循环的结束条件是:弹起的高度<0.01m

运行结果为:

案例二:折纸问题

一张纸的厚度为0.001毫米,珠穆朗玛峰的高度为8848.86米。需要对折多少次,纸的厚度才能超过珠峰的高度?

分析:

每次对折,纸的厚度翻倍。  paper = paper * 2

这就是循环体(要不断做的事情)

做到什么时候结束呢?做到厚度超过珠峰高度

注意单位换算:珠峰高度是 8848.86 米,纸的厚度是0.001毫米

程序代码如下:

运行结果如下:

说实话,这个结果有些意外,仅仅只需要对折34次,就能超过珠峰的高度了。看来,迭代复利的力量太强了。

案例三 找出公因数

从键盘输入两个数,自己设计算法,利用while循环打印出它们的所有公因数。

分析:

公因数就是能同时整除这两个数的数。

从1开始,1能同时整除吗?能,就打印

2能同时整除吗?能,就打印

……

这就是需要循环的语句,反复判断某一个数(从1开始,不断增1)是否能同时整除。

到什么时候结束呢?

很显然,一直增加到两个数中较小的那个数。

程序代码如下:

运行结果如下:

这里用到了min()函数,用于返回两个数中的较小值,更简洁。

也可以手动判断:

if a < b:

    n = a

else:

    n = b

本公众号内容均为原创。如需转载或引用,请先联系我。谢谢你的尊重。

觉得不错的话,伙伴们记得关注、在看、转发和点赞哈!

最新文章

随机文章