第二章 python基础学习之while循环和for循环
文章目录
一、while循环使用
学习循环语句的目的: 可以重复的执行程序中的某段代码。
while 循环的语法格式
while 要判断的条件:
当条件满足会执行while循环语句里面的代码
注意点: while 循环会重复的判断条件是否成立,只要条件成立就会执行while循环语句里面的代码
当条件不成立时循环执行结束
# 当前循环次数
count = 1
while count <= 3:
print("人生苦短,我用python!")
# 每循环一次,修改次数
count += 1
# 提示:当条件始终满足是,就会成为死循环
# 死循环的简写方式
while True:
print("死循环")
# 注意点:if语句只会判断一次条件,不会重复判断该条件
while循环应用1
需求: 计算1~100的累积和(包含1和100)
# 记录当前生成的数字
num = 1
# 保存数据计算后的结果
result = 0
# 1. 利用while循环生成1到100这100个数字
while num <= 100:
# print("当前生成的数据为:", num)
# 2. 把每次生成好的数据累加到一个指定变量上(result)
result += num
num += 1
# 当while循环语句执行结束,说明结果计算完成
print("结果为:", result)
while循环应用2
需求: 计算1~100之间偶数的累积和(包含1和100)
# 记录当前生成的数据
num = 1
# 保存偶数和
result = 0
while num <= 100:
# 1. 把1-100之间的偶数数据过滤出来
if num % 2 == 0:
# 2. 把每一个偶数累加到指定变量上(result)
# print("偶数是:",num)
result += num
num += 1
# 代码执行到此,说明循环执行结束,偶数和计算完成
print("偶数和为:", result)
while循环嵌套
# while循环嵌套的语法格式:
#
# while 要判断的条件:
#
# 执行相关的代码
#
# while 要判断的条件:
# 执行相关的代码
# while嵌套: 在一个while循环语句里面再次使用一个while循环语句
# 需求: 利用循环,从第一次循环到第三次,每循环一次,打印三次 走上人生巅峰
# 记录当前循环的次数
count = 1
while count <= 3:
print("当前循环的是第%d次=====" % count)
# 这个是控制内层循环的次数
num = 1
while num <= 3:
print("走上人生巅峰")
num += 1
# 这个是控制外层循环的次数
count += 1
# while循环嵌套的执行流程
# 先判断外层循环的条件是否成立,如果成立会执行外层循环的代码,当内层循环的条件满足会执行内层
# 循环的代码,当内层循环的代码执行结束再去执行外层循环的代码。
# 提示:不管是什么while循环,while循环在执行的时候先判断条件是否成立,只条件成立就会执行while
# 循环语句里面的代码
while循环嵌套应用1
需求:打印下面的图形
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
# 当前行数
row = 1
# 外层循环控制行数
while row <= 5:
# print("当前是第%d行" % row)
# 当前列数
col = 1
# 内层循环控制打印的列数
while col <= 5:
print("* ", end="")
col += 1
# 代码执行到此,说明内层循环执行结束,需要换行打印下一行星星
print("") # 相当于输出一个\n,因为print函数有一个end参数,默认值就是\n,换行了
row += 1
while循环嵌套应用2
需求: 打印以下图形
*
* *
* * *
* * * *
* * * * *
# 当前行数
row = 1
# 外层循环控制行数
while row <= 5:
# 当前列数
col = 1
# 内层循环控制列数
# 关键条件:每行打印几颗星星取决于行数,col <= row
while col <= row:
print("* ", end="")
col += 1
# 代码执行到此,说明当前行的星星打印完毕,需要换行打印下一行星星
print("")
row += 1
二、for循环
for循环:
- 和while循环类型,也可以让程序中的某段代码重复执行
- for循环可以依次获取容器类型中的每一个数据, for循环获取容器类型中的每一个数据的语法格式
for 临时变量 in 要遍历的数据(容器类型数据[字符串,列表,元组,字典,range]):
#执行相关代码
my_str = "hello"
for value in my_str:
if value == "e":
print("找到了你:", value)
print("当前的数据为:", value)
my_STR="HHELLO"
for value in my_STR :
if value=="H":
print("已找到第%s行:" % value)
print("当前数据第%s为"% value)
for循环结合range使用
# range: 表示一个数据范围,也就是说在整个范围里面可能有多个数据,range也属于是容器类型
# range语法格式
# range(开始数据, 结束数据, 步长)
# 注意点:
# 结束数据不包含
# 步长不指定默认是1, 步长就是生成下一个数据的增长量
for value in range(1, 6, 1):
print(value)
print("=================")
for value in range(1, 4): # 步长不指定默认是1 , 生成下一个数据 = 上一个数据 + 步长
print(value)
print("=================")
# 如何只传一个参数3,表示结束数据
for value in range(3): # 开始数据不指定默认是0,步长不指定默认是1, [0,3)
print(value)
print("=================")
# 如果遍历的数据使用不到,可以使用_占位
for _ in range(3):
# 利用for循环可以让下面的代码重复执行3次
print("走上人生巅峰!")
print("=================")
for num in range(3, 0, -1):
print(num)
print("=================")
for v in range(1, 6, 2):
print(v)
三、break和continue
# break和continue的注意点:
# break和continue是循环语句里面使用的两个关键字,只能在循环语句里面使用,不能单独使用
# break: 终止break所在的循环,所在循环执行结束。
# continue: 结束本次(当前)循环,然后可以继续执行下次循环。
# 错误演示,不能单独使用
# break
# continue
# while循环 结合 break 关键字使用 ================
num = 1
while num <= 5:
print(num)
# 当生成的数字是2的时候,让循环执行结束
if num == 2:
# 代码执行了break,那么break所在的这个循环执行结束
break
num += 1
print("================")
# for循环 结合 continue 关键字使用 ================
for value in range(5, 0, -1):
if value == 2:
# 代码执行continue表示本次循环结束,然后可以继续下次循环
continue
print(value)
print("================")
# for循环的嵌套
for value in range(2, 6, 2):
print("外层循环的数据:", value)
for num in range(1, 6, 2):
print("内层循环的数据:", num)
if num == 3:
# break只是结束离它最近的这个循环,不会再终止最外层循环
break
四、循环语句和else语句的使用
# 循环语句: for, while
# while 结合 else语句使用的语法格式:
# while 条件:
# 执行相关的代码
# else:
# 循环正常结束的时候会执行else语句(当循环语句里面没有执行break这个语句,那么else语句就会执行)
# for结合 else语句使用的语法格式
# for 临时变量 in 要遍历的数据:
# 执行相关的代码
# else:
# 循环正常结束的时候会执行else语句(当循环语句里面没有执行break这个语句,那么else语句就会执行)
# 循环正常结束表示循环语句里面没有执行break关键字
# 循环非正常结束表示循环语句里面执行了break关键字,执行break关键字则else语句不会执行
num = 1
while num <= 3:
if num == 2:
# 当循环语句里面执行break表示循环非正常结束,则else语句不会执行
# break
num += 1
# 当执行了continue不会影响我们else语句的执行
continue
print(num)
num += 1
else:
# 只要循环语句里面没有执行break,则else语句就会执行
print("while循环正常结束会执行else语句")
print("========================")
for value in range(3, 0, -1):
if value == 2:
# 当循环语句里面执行break表示循环非正常结束,则else语句不会执行
# break
# 当执行了continue不会影响我们else语句的执行
continue
print("for循环每次获取的数据为:", value)
else:
# 只要循环语句里面没有执行break,则else语句就会执行
print("for循环正常结束")