Python学习之路:数据的逻辑处理——循环
循环:重复执行某件事情
1. while 循环
while循环是通过条件表达式来控制是否要进入下一次循环。如果条件表达式一直为True那么就会变成无限循环。while...else中的else内的执行语句只会在循环正常结束后执行。while循环的条件表达式的结果一定是布尔类型。
- 语法结构
# 第一种语法结构:while条件表达式: 循环体语句1循环体语句2...# 第二种语法结构:while条件表达式: 循环体语句1循环体语句2...else:条件为False时,循环正常结束时执行- 执行流程
- 代码示例
# 需求:打印10遍“Python~”i=1whilei<=10:print(f"{i}. Python~")i+=1else:print("循环正常结束, 执行完毕")2. for 循环
for循环本质是一种轮询遍历机制,对一批内容进行逐个处理。
- 语法结构
for元素in待处理的数据集:循环体代码(对元素进行处理)else:# else 可有可无循环结束时,执行的代码- 执行流程
- 示例
# 需求:遍历输入字符串msg=input("请输入要遍历的字符串: ")forsinmsg:# s 表示遍历出来的元素; msg 表示需要遍历的数据print("元素:",s)else:# 可写可不写print("循环结束~")3. while 和 for 区别
| while 循环 | for 循环 | |
|---|---|---|
| 语法 | while 条件表达式: 循环体代码 | for 变量 in 可迭代对象:循环体代码(对元素进行处理) |
| 控制方式 | while循环通过控制条件表达式来控制循环的开始与结束 | for循环通过遍历一个可迭代对象来控制循环的次数和变量的取值。 |
| 使用场景 | 用于在某个条件满足时一直循环,循环的次数通常是未知的,只知道循环开始/结束的条件 | 用于对一个已知的数据集进行遍历或已知次数的循环 |
4. 嵌套循环
- 语法结构
for元素in待处理数据集1:循环体的代码1循环体的代码2...for元素in待处理数据集2:循环体的代码1循环体的代码2......- 示例
""" 需求:根据输入的长方形的长度m, 宽度n, 打印一个长方形 如下: 长度为10, 宽度为5的长方形 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * """# 1. 接收键盘录入的m, n# 长度m=int(input("请输入长方形的长: "))# 宽度n=int(input("请输入长方形的宽: "))# print() 语句自带换行效果, print("*", end=" ")end表示每一次输出以什么结束,默认是 \n 表示换行foriinrange(1,n+1):forjinrange(1,m+1):print("*",end=" ")print()运行结果:
5. 关键字break 和 continue
break:只出现在循环里面,表示结束 、跳出循环。continue:只出现在循环里面,表示中断本次循环,直接进入下一次循环
代码示例:
""" 需求:根据输入的用户名密码执行登录操作, 具体要求如下: 1. 正确的用户名和密码为admin/666888、zhangsan/123456、taoge/888666 2. 输入用户名和密码进行登录, 直到登录成功, 程序运行结束; 如果登录失败, 则 继续输入用户名和密码进行登录 3. 输入的用户名和密码不能为空 4. 登录成功: 输出"登录成功, 进入B站首页~" 5. 登录失败: 输出"用户名或密码错误, 请重新输入" """whileTrue:# 1. 接收用户输入的用户名和密码account=input("请输入用户名: ")password=input("请输入密码: ")# 2. 判断用户名或者密码是否为空ifaccount==''orpassword=='':print("输入的用户名和密码不能为空")continue# 结束本次循环,直接进入下一次# 3. 判断用户名和密码是否正确if(account=='admin'andpassword=='666888')or(account=='zhangsan'andpassword=='123456'):print("登录成功, 进入B站首页~")break# 结束循环,后面的else不会再被执行elifaccount=='taoge'andpassword=='888666':print("登录成功, 进入B站首页~")breakelse:print("用户名或密码错误, 请重新输入")运行结果:
- 用户名或密码输入错误,结果示意图
- 用户名和密码正确,结果示意图
- 用户名或密码为空的情况,结果示意图
