目录
说明:该文章是学习 黑马程序员在B站上分享的视频 黑马程序员python教程,8天python从入门到精通而记录的笔记,笔记来源于本人。 若有侵权,请联系本人删除。笔记难免可能出现错误或笔误,若读者发现笔记有错误,欢迎在评论里批评指正。此笔记对应的doc文件的百度网盘下载链接为 Python入门(黑马)的学习笔记,提取码:1b3k。
前言
1. 循环语句的运行方式
如图,一个循环的流程是非常简单的,它基于条件的判断,只要满足条件就去做相应的操作。操作完成后再次判断,如果继续满足条件,会继续做相应的操作。如此往复循环,直到条件不满足后,循环结束。
2.为什么要学习循环语句
3.本章的安排
一、while循环的基础语法
1.学习目标
2.while循环语句
图左展示了循环的流程,说明循环有两个基本要素,条件和操作。只要条件满足就去做相应的操作,操作完成之后再来判断条件,如果条件继续满足又会继续做相应的操作,直到条件不满足,循环就结束了。图右展示了while循环语句的语法。
如下图的案例,第一种不使用循环语句所写的代码非常繁杂,写起来很又累又低级。如第二张图所示,使用循环语句发现可以轻松搞定。
3.本节的演示
先打开软件,创建一个名为“04_Python循环语句”的文件夹,并创建一个名为“01_while循环的基础语法”的py文件。
编写代码并运行。代码如下,可参考注释进行理解。
"""
演示while循环的基础应用
"""
i = 0
while i < 100:
print("小美,我喜欢你")
i += 1 # 每次循环都会改变i的值,控制循环100次后跳出循环 如果没有像该行语句来改变i的值来控制跳出循环的话,就会变成死循环
4.while循环的注意点
5.本小节的总结
6.课后练习
进行代码的演示(为了便于管理文件,先将本节之前的代码文件改成“01_1_while循环的基础语法”):
然后创建一个名为“01_2_while循环练习题_求1-100的和”的py文件。
编写代码并运行。
"""
演示while循环基础练习题:求1-100的和
"""
sum = 0
i = 1
while i <= 100:
sum += i
i += 1
print(f"1-100累加的和是:{sum}")
二、while循环的基础案例(猜数字)
1.学习目标
2.案例需求
3.本节的代码演示
先打开软件,创建一个名为“02_while循环的基础案例-猜数字”的py文件。
编写代码并运行。
"""
演示while循环的基础案例-猜教字
"""
# 获取范围在1-100的随机数字
import random
num = random.randint(1, 100)
# 定义一个变量,记录总共猜测了多少次
count = 0
# 通过一个布尔类型的变量,做循环是否继续的标记
flag = True
while flag:
guess_num = int(input("请输入你猜测的数字:"))
count += 1
if guess_num == num:
print("猜中了")
# 设置flag为False就是终止循环的条件
flag = False
else:
if guess_num > num:
print("你猜的大了")
else:
print("你猜的小了")
print(f"你总共猜测了{count}次")
三、while循环的嵌套应用
1.学习目标
掌握while嵌套循环基本格式;完成while嵌套循环的应用。
2.while循环嵌套的例子
3.本节的代码演示
先打开软件,创建一个名为“03_ while循环的嵌套应用”的py文件。
编写代码并运行。
"""
演示while循环的嵌套使用
"""
# 外层:表白100天的控制
# 内层:每天的表白都送10只政瑰花的控制
i = 1
while i <= 100:
print(f"今天是第{i}天,准备表白。。。。。")
# 内层循环的控制变量
j=1
while j <= 10:
print(f"送给小美的第{j}只玫瑰花")
j += 1
print("小美,我喜欢你")
i += 1
print(f"坚持到第{i-1}天,表白成功")
4.while循环嵌套的注意事项
5.本小节的总结
四、while循环的嵌套案例
1.学习目标
掌握使用while嵌套循环,打印九九乘法表。
2.print语句输出不换行的方法
3.制表符\t
4.案例需求
5.本节的代码演示
创建一个名为“04_ while循环的嵌套案例-九九乘法表”的py文件。
编写代码并运行。
"""
演示使用while的嵌套循环
打印输出九九乘法表
"""
# 思路:外层控制行,内层控制每一行的内容
# 定义外层循环的控制变量
i = 1
while i <= 9:
# 定义内层循环的控制变量
j = 1
while j <= i:
# 内层循坏的print语句,不要换行 制表符\t用于对齐
print(f"{j} * {i} = {j*i}\t", end='')
j += 1
print() # print空内容,就是输出一个换行
i += 1
五、for循环的基础语法
1.学习目标
掌握for循环的基本语法。
2.for循环的工作原理
3.以代码的形式展示for循环的原理——遍历循环
4.本节的代码演示
先打开软件,创建一个名为“05_for循环的基础语法”的py文件。
编写代码并运行。
"""
演示for循环的基础语法
"""
name = "itheima"
for x in name:
# 将name的内容,挨个取出并赋值给临时变量x
# 然后就可以在循环体内对X进行处理
print(x)
5. for循环的注意事项
6.本小节的总结
7.练习案例:数一数有几个a
进行代码的演示(为了便于管理文件,先将本节之前的代码文件改成“05_1_ for循环的基础语法”):
创建一个名为“05_2_ for循环练习题-数一数有几个a”的py文件。
编写代码并运行。
"""
演示于for循坏的练习题:数一数有几个a
"""
# 统计如下字符串中,有多少个字母a
name = "itheima is a brand of itcast"
# 定义一个变量,用来统计有多少个a
count = 0
# for循坏统计
# for 临时变量 in 被统计的数据:
for x in name:
if x == "a":
count +=1
print(f"被统计的字符串中有{count}个a")
六、带range的for循环
1.for循环语法的回顾(含序列的定义)
2.range语句
3.本节的代码演示
先打开软件,创建一个名为“06_含range语句的for循环”的py文件。
如下编写代码并运行,可看到range语句的语法1所对应的效果。
"""
演示Python中的range()语句的基本使用
"""
# range语法1 range(num)
for x in range(10):
print(x)
如下重新编写代码并运行(使用快捷键Ctr+/可快速注释),可看到range语句的语法2所对应的效果。
"""
演示Python中的range()语句的基本使用
"""
# # range语法1 range(num)
# for x in range(10):
# print(x)
# range语法2 range(num1, num2)
for x in range(5, 10):
# 从5开始,到10结束(不包含10本身)的一个数字序列
print(x)
如下重新编写代码并运行(使用快捷键Ctr+/可快速注释),可看到range语句的语法3所对应的效果。
"""
演示Python中的range()语句的基本使用
"""
# # range语法1 range(num)
# for x in range(10):
# print(x)
# # range语法2 range(num1, num2)
# for x in range(5, 10):
# # 从5开始,到10结束(不包含10本身)的一个数字序列,数字之间的间隔是1
# print(x)
# range语法3 range(num1, num2, step)
for x in range(5, 10, 2):
# 从5开始,到10结束(不包含10本身)的一个数字序列,数字之间的间隔是2
print(x)
如下重新编写代码并运行(使用快捷键Ctr+/可快速注释),将前面送小美10朵花的功能通过for循环进行实现。
"""
演示Python中的range()语句的基本使用
"""
# # range语法1 range(num)
# for x in range(10):
# print(x)
# # range语法2 range(num1, num2)
# for x in range(5, 10):
# # 从5开始,到10结束(不包含10本身)的一个数字序列,数字之间的间隔是1
# print(x)
# # range语法3 range(num1, num2, step)
# for x in range(5, 10, 2):
# # 从5开始,到10结束(不包含10本身)的一个数字序列,数字之间的间隔是2
# print(x)
# 送小美10朵花
# i = 1
# while i<=10:
# print("送玫瑰花")
# i += 1
for x in range(10):
print("送玫瑰花")
4.本小节的总结
5.练习案例:有几个偶数
七、for循环中变量的作用域
1.for循环中临时变量的作用域
2.本节的代码演示
先打开软件,创建一个名为“07_for循环中临时变量的作用城”的py文件。
编写代码并运行,发现能够在外面访问到for循环的临时变量i,但存在警告。
"""
演示Python for循环中临时变量的作用域
"""
for i in range(5):
print(i)
print(i)
如果想要使用变量i,可以先在for循环语句外定义i后,再进行刚刚所示的代码的流程就可以了,重新编写代码并运行。
"""
演示Python for循环中临时变量的作用域
"""
i = 0
for i in range(5):
print(i)
print(i)
3.本小节的总结
八、for循环的嵌套应用
1.学习目标
掌握for循环的嵌套使用。
2. for循环的嵌套
3.本节的代码演示
先打开软件,创建一个名为“08_ for循环的嵌套使用”的py文件。
编写代码并运行。
"""
演示for循环的嵌套应用
"""
# 坚持表白100天,每天都送10朵花
# range
i = 0
for i in range(1,101): # range(1,101)即i从1依次取到100,不包含101
print(f"今天是向小美表白的第{i}天,加油坚持。")
# 写内层的循环
for j in range(1, 11):
print(f"给小美送的第{j}朵玫瑰花")
print("小美我喜欢你")
print(f"第{i}天,表白成功")
4.for循环的嵌套的注意事项
5.本小节的总结
6.练习案例:for循环打印九九乘法表
进行代码的演示(为了便于管理文件,先将本节之前的代码文件改成“08_ 1_for循环的嵌套使用”):
创建一个名为“08_2_ for循环打印九九乘法表”的py文件。
编写代码并运行。
"""
演示于for循环打印九九乘法表
"""
# 通过外层循环控制行数
for i in range(1, 10):
# 通过内层循环控制每一行的数据
for j in range(1, i + 1):
# 在内层循环中输出每一行的内容
print(f"{j} * {i} = {j * i}\t", end='')
# 外层循环可以通过print输出一个回车符
print()
九、循环中断:break和continue
1.学习目标
掌握使用continue和break关键字控制循环。
2.continue语句
3.break语句
4.本节的代码演示
先打开软件,创建一个名为“09_循环中断”的py文件。
如下编写代码并运行,可以看出continue具有跳出本次循环的作用。
"""
演示循环语句的中断控制:break和continue
"""
# 演示循环中断语句continue
for i in range(1,6):
print("语句1")
continue
print("语句2")
再次编写代码并运行(使用快捷键Ctr+/可快速注释),可以看出continue仅对它所在的循环生效。
"""
演示循环语句的中断控制:break和continue
"""
# # 演示循环中断语句continue
# for i in range(1,6):
# print("语句1")
# continue
# print("语句2")
# 演示continue的嵌套应用
for i in range(1,6):
print("语句1")
for j in range(1,6):
print("语句2")
continue
print("语句3")
print("语句4")
再次编写代码并运行(使用快捷键Ctr+/可快速注释),可以看出break具有跳出整个循环的作用。
"""
演示循环语句的中断控制:break和continue
"""
# # 演示循环中断语句continue
# for i in range(1,6):
# print("语句1")
# continue
# print("语句2")
# # 演示continue的嵌套应用
# for i in range(1,6):
# print("语句1")
# for j in range(1,6):
# print("语句2")
# continue
# print("语句3")
#
# print("语句4")
# 演示循环中断语句break
for i in range(1,101):
print("语句1")
break
print("语句2")
print("语句3")
再次编写代码并运行(使用快捷键Ctr+/可快速注释),可以看出break仅跳出它所在的循环。
"""
演示循环语句的中断控制:break和continue
"""
# # 演示循环中断语句continue
# for i in range(1,6):
# print("语句1")
# continue
# print("语句2")
# # 演示continue的嵌套应用
# for i in range(1,6):
# print("语句1")
# for j in range(1,6):
# print("语句2")
# continue
# print("语句3")
#
# print("语句4")
# # 演示循环中断语句break
# for i in range(1,101):
# print("语句1")
# break
# print("语句2")
#
# print("语句3")
# 演示break的嵌套应用
for i in range(1,6):
print("语句1")
for j in range(1,6):
print("语句2")
break
print("语句3")
print("语句4")
5.本小节的总结
十、综合案例:发工资
1.学习目标
基于学到的循环知识,完成发工资案例。
2.案例需求
提示:20个员工可使用for循环;绩效分不够,continue跳过本次循环;工资发完了,break结束循环。
3.本节的代码演示
先打开软件,创建一个名为“10_循环综合案例-发工资”的py文件。
编写代码并运行。
"""
演示循环综合案例:发工资
"""
# 定义账户余额变量
money = 10000
# for循环对员工发放工资
for i in range(1,21):
import random
score = random.randint(1,10)
if score < 5:
print(f"员工{i}绩效分{score},不满足,不发工资,下一位")
# continve跳过发放
continue
# 发工资前要判断余额足不足
if money > 1000:
money -= 1000
print(f"员工{i},满足条件,发放工资1000元,公司账户余额:{money}元")
else:
print(f"余额不足,当前余额:{money}元,不足以发工资,不发了,下个月再来")
# break结束发放
break
好了,本章的笔记到此结束,谢谢大家阅读。