购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.3 循环语句

在某些情况下,程序可能需要重复执行某个操作。例如,当用户登录平台时,如果长时间未登录可能会忘记密码,因此需要反复输入账号和密码,直到达到平台设置的输入次数限制或成功登录为止。为了满足这种需求,可以使用循环语句来实现。Python中的循环语句包括for语句和while语句。本节将针对for语句和while语句的内容进行讲解。

3.3.1  for语句

for语句可以对可迭代对象进行遍历,其格式如下:

上述格式中,可迭代对象可以是字符串,也可以是后面章节要学习的列表、元组、字典等;临时变量用于保存每次循环时从可迭代对象中访问的元素。可迭代对象的元素个数决定了循环的次数,当访问完最后一个元素时会结束循环。

例如,使用for语句遍历字符串的每个字符。具体代码如下:

运行代码,结果如下:

多学一招:for语句与range()函数

for语句常与range()函数搭配使用,以控制循环中代码段的执行次数。range()函数中若只有一个整数n,则会生成一组从0~n-1的整数;若有两个整数m和n,则会生成一组从m~n-1的整数。示例代码如下:

上述代码中,range(3)用于生成一组整数 0、1、2,一共 3 个整数,因此循环的次数为 3 次,输出 3 次内容。

运行代码,结果如下:

3.3.2  实例6:数据加密

数据加密是保存数据的一种方法,它通过加密算法和密钥将数据从明文显示转换为密文显示。假设当前开发的程序中需要对用户的密码进行加密处理,已知用户的密码均为 6 位数字,其加密规则如下:

(1)获取每个数字的ASCII码。

(2)将所有数字的ASCII值进行累加求和。

(3)将每个数字对应的ASCII值按照从前往后的顺序进行拼接,并将拼接后的结果 进行反转。

(4)将反转的结果与前面累加的结果相加,所得的结果即为加密后的密码。

本实例要求编写程序,按照上述加密规则将用户输入的密码进行加密,并输出加密后的密码。扫描二维码,可查看参考代码。

代码

数据加密

3.3.3  实例7:逢七拍手游戏

逢七拍手游戏的规则:从 1 开始顺序数数,数到有 7 或者包含 7 的倍数时拍手。本实例要求编写程序,模拟实现逢七拍手游戏,输出 100 及 100 以内的数字,并将这里面的数字 7 或者 7 的倍数的数字替换为“*”。扫描二维码,可查看参考代码。

代码

逢七拍手游戏

3.3.4  while语句

while语句是条件循环语句,当条件满足时重复执行代码块,直到条件不满足为止。while语句的格式如下:

执行while语句时,首先判断条件表达式的结果是否为True,如果条件表达式的结果为True,则执行while语句中的代码块;然后再次判断条件表达式的结果是否为True,如果条件表达式的结果为True,则再次执行while语句中的代码块。每次执行完代码块都需要重新判断条件表达式的结果,直到条件表达式的结果为False时结束循环,不再执行while语句中的代码块。

while语句的执行流程如图3-4 所示。

图3-4 while循环的执行流程

使用while语句计算 10 的阶乘,示例代码如下:

以上代码首先定义了两个变量i和result,其中变量i表示乘数,初始值为 1;变量result表示计算结果,初始值也为 1,然后使用while语句实现循环,循环的执行过程如下:

首先判断条件表达式i<=10,表达式的执行结果为True,循环体内的语句result *= i和i += 1被执行,result值为 1,i值变成 2;再次判断条件表达式,结果仍然为True,执行循环体中的代码后result值变为 2,i值变为 3,然后继续判断条件表达式,依此类推。直到i=11 时,条件表达式i<=10 的判断结果为False,结束循环。

运行代码,结果如下:

3.3.5  实例8:登录系统账号检测

登录系统一般具有账号密码检测功能,即检测用户输入的账号密码是否正确。若用户输入的账号或密码不正确,提示“用户名或密码错误”和“您还有*次机会”;若用户输入的账号和密码正确,提示“登录成功”;若输入的账号密码错误次数超过 3 次,提示“输入错误次数过多,请稍后再试”。

代码

登录系统账号检测

本实例要求编写程序,模拟登录系统账号密码检测功能,并限制账号或密码输错的次数至多 3 次。扫描二维码,可查看参考代码。 zbDxdh8MMSX68g/tlrRvlDv/87Enu0HOw9BStRqpUcDbhewslkEzSi0WkHIH+a7H

点击中间区域
呼出菜单
上一章
目录
下一章
×