[03]python基础语法学习
循环
什么是循环
在Python中,循环是一种重复执行特定代码块的结构.
循环的作用
让代码高效的重复执行
循环的种类
在Python中,循环一共分为两大类:while循环与for循环
while循环和for循环两者该如何选择呢?
①:对于循环次数固定的(已知)情况下,建议使用for循环, 例如: 1~100循环
②:对于循环次数未知(不确定)的情况下,建议使用while循环, 例如: 猜数字游戏
while循环
基本语法格式
# Step1: 定义一个计数器(初始化一个计数器)
i = 0或1
# Step2: 编写while循环结构
while 循环条件(判断 计数器 是否达到了目标位置):
循环体1
循环体2
...
# Step3: 在循环内部更新计数器
i = i + 1 或 i += 1
示例: 需要让计数器循环10次
# while 1==1: # print(1) # 希望 使用while 循环 执行十次循环体 num = int( input('请输入循环的次数:') ) # 定义一个计数器 记录循环了几次 i = 1 while i <= num: print(f'这是第{i}次循环了') # 执行一次循环 计数器+1 i = i+1案例:使用while循环求1..100的和
# 使用while循环求1-100数字总和 # 初始值的计数器为1 count = 1 # count计数 i 因为java中使用i index #记录总和数字 total = 0 while count <= 100: total= total + count #更新计数器 count = count +1 print(f"总和为:{total}")循环中的两大关键词
两大关键词
在Python循环中,经常会遇到两个常见的关键词:break 与 continue
break:代表终止整个循环结构
continue:代表中止当前本次循环,继续下一次循环
举个例子:
一共吃5个苹果,吃完第一个,吃第二个…,这里"吃苹果"的动作是不是重复执行?
场景一:如果吃的过程中,吃完第三个吃饱了,则不需要再吃第4个和第5个苹果,即是吃苹果的动作停止,这里就是break控制循环流程,即终止此循环。
场景二:如果吃的过程中,吃到第三个吃出一个大虫子...,是不是这个苹果就不吃了,开始吃第四个苹果,这里就是continue控制循环流程,即退出当前一次循环继而执行下一次循环代码。
break关键字
# 演示: break关键词 # break: 终止当前循环 # 需求: 假设有5个苹果,如果吃的过程中,吃完第三个吃饱了,则不需要再吃第4个和第5个苹果,即是吃苹果的动作停止,这里就是break控制循环流程,即终止此循环。 # 1- 定义计数器 i = 1 # 2- 定义循环操作 while i <= 5: print(f"正在吃第{i}个苹果") # 期望当吃完第三个, 就停止循环操作 if i == 3: print("吃饱了, 不吃了") break # 退出循环 # 3- 更新计数器 i += 1continue关键字
# 演示 continue: # 功能: 跳过本次循环, 进入下一次循环 # 假设有5个苹果,如果吃的过程中,吃到第三个吃出一个大虫子...,是不是这个苹果就不吃了,开始吃第四个苹果,这里就是continue控制循环流程,即退出当前一次循环继而执行下一次循环代码。 # 1- 定义计数器 i = 1 # 2- 定义循环操作 while i <= 5: # 当准备吃第三个的时候, 直接跳过 if i == 3: print(f"第{i}个苹果有虫子, 不吃了") # 更新计数器: i += 1 continue # 吃苹果 print(f"正在吃第{i}个苹果") # 3- 更新计数器 i += 1死循环概念
在编程中一个靠自身控制无法终止的程序称为“死循环”。
在Python中,我们也可以使用while True来模拟死循环:
# 注意 如果条件永久成立, 那么这个循环也被成为 死循环 while True: print("这是一个死循环")for循环
for循环基本语法
for循环结构主要用于(序列 => 字符串、列表、元组、集合以及字典)类型数据的遍历(循环)操作。
for循环主要用于序列类型数据的循环操作(遍历操作)
另外当循环次数未知的情况,建议使用for循环。
格式:
for 临时变量 in 序列:
重复执行的代码1
重复执行的代码2
案例: 使用for循环遍历字符串"hello"
# 案例:使用for循环遍历字符串"hello" for e in 'hello': print(e)range方法(函数)
主要作用:用于生成一段连续的内容,比如range(0,10) 表示的就是从0到9,range函数是一个左闭右开的一个取值
基本语法:
range(stop)
range(start, stop,[ step])
例如:
start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
stop:计数到 stop 结束,但不包括 stop。例如:range(0,5) 是 [0, 1, 2, 3, 4] 没有 5
step:步长,默认为1。例如:range(0,5) 等价于 range(0, 5, 1)
for循环案例
# 案例:for循环与range方法,使用for循环,循环5次: 0~5 for e in range(0, 5): print(e) print("-----------------------") # 案例: 使用for循环,求1 ~ 100之间所有偶数的和 sum = 0 for e in range(1,101): if e % 2 == 0: # 说明是偶数 sum += e # 输出结果 print(sum)综合案例:使用for循环实现用户名+密码认证
""" 案例:用for循环实现用户登录 ① 输入用户名和密码 ② 判断用户名和密码是否正确(username='admin',password='admin888') ③ 登录仅有三次机会,超过3次会报错 暂定用户名为 admin 密码 admin """ # 还剩下输入错误的次数 count = 3 for temp in range(1,4): # 1.接收用户输入的用户名和密码 username = input('请输入您的用户名:') password = input('请输入您的密码:') print( username , password) # 2.判断用户名和密码是否正确 # 2.1 登陆成功 if username=='admin' and password=='admin': print('恭喜您登录成功') break # 2.2 登陆失败 else: if username!='admin': print('用户名输入错误') else: print('密码输入错误') # 还剩下输入错误的次数 count = count-1 print(f'您还剩下{count}次机会')for循环中的else结构
基本语法:
for 临时变量 in 序列:
循环体
else:
当for循环正常结束后,返回的代码
break关键字对for...else结构的影响
break跳出循环后不会执行for else的代码
str1 = 'itheima' for i in str1: if i == 'e': print('遇e不打印') break print(i) else: print('循环正常结束之后执行的代码')continue关键字对for...else结构的影响
continu只对本此循环有影响 所以不会影响else的执行
str1 = 'itheima' for i in str1: if i == 'e': print('遇e不打印') continue print(i) else: print('循环正常结束之后执行的代码')以上就是while循环和for循环的知识了, 欢迎指正,大家一起交流学习~
