关注 鹿韭 每天学习新知识!
AI | 个人成长 | 摄影 让我们一起终身学习
鹿韭的第 14 篇原创
哈喽,大家好呀!这里是鹿韭的生活录,我是鹿韭。一个从事AI行业5年,喜欢古典舞、摄影、分享生活感悟的98年girl。

▲ 图片来源于网络
欢迎来到「从 0 到 1 学习 AI」的系列文章。目前我们处于学习人工智能的第一阶段 -- python编程。
python编程我们又分为基础篇和高级篇来分享。分享的内容都整理在《人工智能(AI)》合集里面了,大家点击主页合集就能看到了。内容是连贯的,大家按顺序看就行。
今天,我们要分享的是:python语句之python循环语句。
python中的循环语句,分为while循环和for循环两种类型,下面鹿韭将分别详细介绍这两种循环!

▲ 图片来源于网络
一、while语句
只要条件为真,就一直重复执行同一段代码。
想象一下,你在某音乐软件上听到那首你爱的《富士山下》,于是你点了一下“单曲循环功能”,它就一直给你播放《富士山下》。直到你点结束“单曲循环功能”,它才会接着播放下一首。
while循环语句的作用:与上面提到的“单曲循环功能”原理一样,只要条件成立,它就不停的执行某个代码块,直到条件不成立,它才会接着执行后面的代码。
while循环可以延长某段程序的生命(使某段程序一直运行)。
1
while语句基本结构
核心逻辑:只要条件满足就执行while内的代码块。
语法:

代码执行流程图:

代码练习:写一段代码实现循环播放富士山下五次。
times = 1while times <= 5:print("播放富士山下")times += 1
代码运行结果:
播放富士山下播放富士山下播放富士山下播放富士山下播放富士山下
2
while语句变体 while-else
核心逻辑:只要条件满足就执行while内的代码块,条件不满足就执行else内的代码块。
语法:
while 条件:满足条件就执行的代码块else:不满足条件就执行的代码块
注意: 在循环体内用break终止循环时,else子句不执行(直接结束循环,执行后面的代码)。
代码执行流程图:

代码练习:根据输入的性别打招呼,输入y就继续循环 ,输入其它则提示输入错误,结束循环。
whileinput("请输入y继续:")== "y":sex = input("请输入性别:")if sex == "男":print("您好先生")elif sex == "女":print("您好女士")else:print("老登")else:print("输入错误,结束循环")
代码运行结果:
请输入y继续:y请输入性别:二嬢老登请输入y继续:y请输入性别:男您好先生请输入y继续:玩累了输入错误,结束循环
3
while-Ture 死循环
核心逻辑:让条件一直是成立的状态(Ture),不停的循环执行while内的代码块。
一般和break(打断)搭配使用,表示满足什么条件就跳出循环。
语法:
while True:无限循环执行的代码块
代码练习:手机屏幕锁屏解锁,次数不限。
count = 5while True:lock_screen_password = int(input("请输入手机锁屏密码:"))if lock_screen_password == 888888:print("恭喜你,解锁成功!🎉")break # 猜对就跳出死循环print("可以看无脑剧咯!")
代码运行结果:
请输入手机锁屏密码:12345请输入手机锁屏密码:23456请输入手机锁屏密码:888888恭喜你,解锁成功!🎉可以看无脑剧咯!

▲ 图片来源于网络
while循环适用场景
不知道次数,靠条件控制。
直到满足某个条件才停止
例如:输入正确密码才退出、直到用户输入“quit”才结束
2. 需要实时判断状态
游戏循环:一直运行直到玩家退出
服务器监听:一直等待连接,直到关闭
3. 递增/递减不确定次数
例如:每次 +2,直到超过 100
例如:随机生成数字,直到等于某个目标值
注意循环条件,不要陷入死循环。
代码练习:手机屏幕锁屏解锁,只有五次机会,输错5次就强制锁屏60s。(可能1次输对,可能5次都输不对)
count = 5while count > 0:lock_screen_password = int(input("请输入手机锁屏密码:"))if lock_screen_password == 888888:print("恭喜你,解锁成功!🎉")# 猜对就跳出,直接结束整个while-else语句breakelse:count -= 1print(f"输入错误请重新输入,还有{count}次机会")else:print("解锁次数已达上限,60s后重试")
代码运行结果:
请输入手机锁屏密码:123456输入错误请重新输入,还有4次机会请输入手机锁屏密码:123654输入错误请重新输入,还有3次机会请输入手机锁屏密码:888888恭喜你,解锁成功!🎉
说明:


▲ 图片来源于网络
二、for 语句
按次数、范围,把一段程序跑固定的圈数。
for 循环是python中最常用的循环结构之一,用来遍历可迭代对象(列表、range 等)中的每一个元素,并对每个元素进行一组操作。
与其他语言不同,python的for循环基于迭代器,而不是计数器(C/C++/Java).
1
for语句基本结构
核心逻辑:遍历可迭代对象的数据元素,根据迭代次数,重复执行语句组。
可迭代对象:在编程中可以“逐个取出元素”的对象。在python中,列表、字符串、元组、字典、集合、range 、文件对象、生成器、迭代器等,都是可迭代对象。
--可迭代对象后面会分享
遍历:按照某种顺序,依次访问可迭代对象中的每一个元素,并且不重复、不遗漏。
语法:
for 变量 in 可迭代对象:代码块(每次迭代都会执行的代码)
代码执行流程图:


额外补充知识:range 函数

作用:
用来创建一个,能生成一系列整数的可迭代对象(也叫整数序列生成器)。
语法:
range(起始值,结束值,间隔)说明:
range函数返回一个可迭代对象,可以用for循环遍历其中的元素。
结束值:不包含
起始值:默认为0
间隔(步长):默认值为1
示例:
range(1, 4, 2) # 生成整数 1,3range(1, 4, -1) # 生成整数 3,2,1range(-1, -3, -1) # 生成整数 -1,-2
代码练习:计算1-10之间双数的整数和。
the_sum = 0for item in range(1, 11, 2):the_sum += itemprint(the_sum)
代码运行结果:
252
for语句变体 for-else
核心逻辑:for循环正常执行完所有迭代后,执行else中的语句。
语法:
for 变量 in 可迭代对象:代码块(每次迭代都会执行的代码)else:不满足条件就执行的代码块
注意: 在循环体内用break终止循环时,else子句不执行(直接结束循环,执行后面的代码)。
代码执行流程图:

代码练习:查找数字。
target = int(input("请输入要查找的数字:"))for num in range(1, 11, 5):if num == target:print("找到了!", num)breakelse:print("没找到")
代码运行结果:
请输入要查找的数字:8没找到
3
for 循环嵌套
核心逻辑:一个for循环里面再写一个for循环,外循环每执行一次,内层循环跑一整轮(内层循环从头开始执行,直到内层循环结束)。
语法:
for 变量1 in 可迭代对象1:代码块(每次迭代都会执行的代码)for 变量2 in 可迭代对象2:代码块(每次迭代都会执行的代码)
代码执行流程图:

代码练习:请用for循环嵌套,打印99乘法表。
for i in range(1, 10): # 外层控制行for j in range(1, i + 1): # 内层控制列print(f"{j}×{i}={i * j}", end="\t") # end="\t" print函数的参数,表示每打印一个结果后面加一个制表符(即一个空格)print()
代码运行结果:
1×1=11×2=2 2×2=41×3=3 2×3=6 3×3=91×4=4 2×4=8 3×4=12 4×4=161×5=5 2×5=10 3×5=15 4×5=20 5×5=251×6=6 2×6=12 3×6=18 4×6=24 5×6=30 6×6=361×7=7 2×7=14 3×7=21 4×7=28 5×7=35 6×7=42 7×7=491×8=8 2×8=16 3×8=24 4×8=32 5×8=40 6×8=48 7×8=56 8×8=641×9=9 2×9=18 3×9=27 4×9=36 5×9=45 6×9=54 7×9=63 8×9=72 9×9=81

▲ 图片来源于网络
for循环适用场景
知道循环次数 、遍历可迭代对象。
1. 遍历数组、列表、集合等(后面容器篇会分享)
遍历每个元素做处理
2. 循环固定次数(相比与while,for循环结构清晰,不容易死循环。)
已知要循环 10 次、100 次
3. 遍历字符串、文件行
一行一行读文件
逐个字符处理
代码练习:打印菱形。
# 菱形上半部分line = 4for i in range(1, line + 1):# 空格for j in range(line - i):print(" ", end=" ")# 星星for k in range(i * 2 - 1):print("*", end=" ")print()# 形下半部分down_line = 3for i in range(down_line, 0, -1):# 空格for j in range(down_line - (i - 1)):print(" ", end=" ")# 星星for k in range(i * 2 - 1):print("*", end=" ")print()
代码运行结果:
** * ** * * * ** * * * * * ** * * * ** * **

▲ 图片来源于网络
在这条漫长且枯燥的学习路上,我们需要的不是快餐式学习,我们需要的是不慌不忙的坚持。不要怕路远,走得慢一点,稳一点。你走的每一步都算数!!!
python的循环语句到这里就分享完了,感谢各位客官捧场,本期分享就到这里啦,我们下期见~

我是鹿韭
这里是鹿韭的生活录
世间所有美好莫过于与你相遇~
28岁开启我的自媒体人生,在这里我将分享技术、生活!
感谢你的喜欢+关注

作者:鹿韭
图源:网络
点亮【赞和转发】祝你好运且发财,喜欢我,记得来朋友圈找我。

Happy Time
都看到这里了
记得关注,下次还能找到我哟~
回见~
往期作品回顾:
学习人工智能第一步:python基础编程(第四篇) -- python语句(上)