Python中的循环结构

Python中的循环结构

一、回顾分支练习题

1、判断是否为一个合法三角形

需求:输入三角形的3边,如果两边的长度大于第三条边,则代表是一个合法三角形

1、提示用户输入三角形的三边长度
a = int(input('请输入第一条边的长度:'))
b = int(input('请输入第二条边的长度:'))
c = int(input('请输入第三条边的长度:'))
2、判断两边之和是否大于第3条边
if (a + b > c) and (a + c > b) and (b + c > a):
    print('是一个合法的三角形')
else:
    print('不是一个合法的三角形')

2、求世界杯小组赛的总成绩

需求:在世界杯的情况下,世界杯小组赛的规则是我们队和其他三支球队比赛,然后根据总分(积分)晋级。小组赛阶段球队的实力是已知的(提示用户输入各队的实力),我们用数字来表示。如果赢一局得三分,平一局输一局,我们就得零分,最终得到球队的总分。

[En]

Demand: in the case of the World Cup, the rules of the World Cup group stage are that our team plays against the other three teams, and then qualifies according to the total score (points). The strength of the team in the group stage is known (prompt the user to enter the strength of each team), we use a number to express. If we win one game and get three points, draw one game and lose one game, we get zero points, and finally get the total score of the team.

我们的球队实力:20

1号球队的实力:10

2号球队的实力:20

3号球队的实力:30

如果:我们 > 1号球队,赢了,得3分

​ 我们 == 2号球队,平局,得1分

​ 我们 < 3号球队,输了,得0分

则小组赛最终结果 = 3 + 1 + 0 = 4分

1、提示用户输入我们球队与其他三个球队的实力
a = int(input('请输入我们球队的实力值:'))
b = int(input('请输入1号球队的实力值:'))
c = int(input('请输入2号球队的实力值:'))
d = int(input('请输入3号球队的实力值:'))

2、开始比赛,求每次比赛的成绩
avsb = (a > b) * 3 + (a == b)
avsc = (a > c) * 3 + (a == c)
avsd = (a > d) * 3 + (a == d)

3、总成绩
score = avsb + avsc + avsd

4、输出总成绩
print(f'我们球队最终的总成绩:{score}')

知识点:布尔类型转换为整型,True => int(True) = 1,False => int(False) = 0。这是手工类型转换,在Python中,如果布尔类型参与算术运算,则会发生自动类型转换。

二、Python中循环的介绍

1、什么是循环

在现实生活中,也有很多循环应用场景:

[En]

In real life, there are also many circular application scenarios:

(1)食堂阿姨打菜:接过顾客的餐盘→询问菜品→打菜→递回餐盘,重复以上过程,直到所有顾客的菜都打完了

(2)快递员送快递:查看送件地址→赶往目的地→电话告知收件人→收件人签收→交快递件,重复以上过程,直到所有需要送的快递都处理完了。

(3)公交司机……

(4)作业流程……

……

以上场景都有一个共同的特点:==有 条件重复地做一件事,每一次做的事情不同但类似。==

程序是为了解决实际问题的,==实际问题中存在着重复动作,那么程序中也应该有相应的描述,这就是 循环。==

2、循环的作用

想:如果我有一个女朋友,有一天我们会生气和矛盾。我的女朋友说:道歉,说“我的妻子,我错了”100次。程序员在这个时候会做什么?

[En]

Thinking: if I have a girlfriend, one day we get angry and contradictory. My girlfriend says: apologize and say “my wife, I was wrong” 100 times. What will programmers do at this time?

答:100遍print(‘老婆大人,我错了’)

太麻烦了,有没有更好的办法呢?我们难道print输出语句要复制粘贴100次嘛?

答:其实也没那么麻烦,上面输出的代码有很多重复的地方,我们只需要把相同的代码重复100次,这就是循环!

[En]

A: in fact, it is not so troublesome, there are a lot of repetitions in the above output code, we just need to repeat the same code 100 times, this is the loop!

循环的作用是什么?

答:==让代码高效的重复执行==

3、循环的种类

在Python中,循环一共分为两大类:while循环与for循环

思考问题:while循环和for循环如何选择呢?

==① 对于循环次数已知的情况,建议使用while循环==

==② 对于循环次数未知的情况,建议使用for循环==

Python中的循环结构

三、while循环基本语法及其应用

1、while循环的基本语法

① 定义一个计数器(初始化一个计数器)
i = 0或1
② 编写while循环结构
while 循环条件(判断 计数器 是否达到了目标位置):
    循环体1
    循环体2
    ...
    # ③ 在循环内部更新计数器
    i = i + 1 或 i += 1

普及小知识:在计算机程序中,计数器大部分都是从0开始的。

总结:while循环三步走

==① 初始化计数器==

==② 编写循环条件(判断计数器是否达到了目标位置)==

==③ 在循环内部更新计数器==

while循环入门案例:使用while循环,循环输出100遍”老婆大人,我错了”

① 初始化计数器
i = 0
② 编写循环条件(判断计数器是否达到了100)
while i < 100:
    print('老婆大人,我错了')
    # ③ 在循环体内部更新计数器
    i += 1

2、while循环的执行流程

建议大家使用Debug调试工具,查看while循环的运行流程。

① 初始化计数器
i = 0
② 编写循环条件(判断计数器是否达到了100)
while i < 100:
    print('老婆大人,我错了')
    # ③ 在循环体内部更新计数器
    i += 1

下断点,开始Debug调试:

Python中的循环结构

① 代码都是顺序执行,首先执行到第2行,对变量i进行赋值操作,初始值为0

② 当程序遇到while循环时,首先要把我们的计数器与循环条件进行比较i < 100,如果条件成立,则进入循环内部,执行内部代码。

③ 在循环体内部,针对本次循环进行计数器更新操作 i = i + 1或 i += 1

④ 更新完毕后,把更新后的计数器与循环条件再次进行比较i < 100,如果条件成立,继续进入循环内部,执行内部代码。

⑤ 直到,i更新后结果为100时,再次进行循环条件判断,发现不满足,则整个while循环结束。

while循环流程图:

Python中的循环结构

3、while循环案例

案例1:使用while循环求1..100的和

分析:定义一个while循环,让其可以帮助我们计算 1 + 2 + 3 + 4 + 5 … + 100,结果:5050

大问题拆解为小问题:

① 使用while循环,循环100次

第一步:初始化计数器
i = 1
第二步:编写循环条件
while i

② 在循环体内部,累计求和

第四步:定义一个变量,得到最终的运算结果<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>Step 4: define a variable to get the final operation result</font>*</details>
result = 0
第五步:想办法,让result = 变量i累加后的结果

③ 最终代码

第一步:初始化计数器
i = 1
第四步:定义一个result变量,用于接收累加后的结果
result = 0
第二步:编写循环条件
while i

☆ 首先定义变量i和变量result,进行初始化赋值

☆ 判断变量i是否满足循环条件,如果满足循环条件,则进入到循环体内部,执行内部代码

思考:如何让变量i进行累加,然后赋予给result

result = i

第一次循环式,i = 1,result = 0,如果想获取累加的结构,则result = result + i

result = 0 + 1

计数器更新,i += 1,i变成2,然后i

Original: https://blog.51cto.com/u_15553407/5569269
Author: 蓦然1607
Title: Python中的循环结构

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/500851/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球