【Python从零到壹】Python的循环结构详解
作者:互联网
欢迎大家来到互联网老辛的专栏《Python从零到壹》,在这里我将分享约300篇Python系列文章,所有文章都将结合案例、代码和作者的经验讲解,真心想把自己近十年的编程经验分享给大家,希望对您有所帮助,文章中不足之处也请海涵。
从事教学工作以来,越来越觉得时间的宝贵,每届学生都要讲重复的课,从今年开始,我将逐步把分享这件事做下去。
您的关注、点赞和转发就是对互联网老辛的最大的支持,知识无价人有情,希望我们都能在人生路上开心快乐、共同成长。
文章目录
- 1. 内置函数range()
- 2. while循环
- 3. for - in 循环
- 4. 流程控制语句break
- 5. 流程控制语句continue
- 6. else语句
- 7.嵌套循环
- a) 案例1 打印字幕
- b) 案例2 求1-100的偶数和
- a) 密码验证案例
- a) 案例1
- a)方法一
- b) 方法2
- 案例1:密码案例
- 案例1
- 案例2
- 案例3
1. 内置函数range()
用于生成一个整数序列
创建range对象的三种方式:
- range(5) 创建一个从0到5,步长为1的整数序列。且包含0,不包含5;
- range(5,10) 创建一个从5到10的整数序列,且步长为1
- range(5,10,2)创建一个从5到10的整数序列,且步长为2
返回值是一个迭代器对象
range的优势: 不管range对象表示的整数序列有多长,所有的range对象占用的内存空间都是相同的。因为仅需要存储 start,stop,和step。
# 作者:互联网老辛# 开发时间:2021/4/3/0003 9:14#第一种创建方式r=range(10)print(r) #range(0,10)print(list(r)) #查看range对象中的整数序列[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]#第二种创建方式r2=range(1,10)print(list(r2)) #[1, 2, 3, 4, 5, 6, 7, 8, 9]#第三种创建方式r3=range(1,10,2)print(list(r3)) #[1, 3, 5, 7, 9]
另外我们可以使用in和not in 判断一个整数是否在序列中
r3=range(1,10,2)print(list(r3)) #[1, 3, 5, 7, 9]print(10 in r3) #False
可以看到False表示10不在这个序列中
2. while循环
循环结构: 反复做同一件相同的事情,叫做循环结构
循环分类:
- while
- for -in
语法结构:
while 条件表达式
条件执行体(循环体)
# 作者:互联网老辛# 开发时间:2021/4/3/0003 9:14a=1#判断条件表达式while a<10:print(a)a+=1
求和:
# 作者:互联网老辛# 开发时间:2021/4/3/0003 9:14''' 计算0-100的和 '''num1=0sum=0while num1<=100:sum+=num1 num1+=1print('和为',sum)
结果为:
加大难度: 计算0-100的偶数和
# 作者:互联网老辛# 开发时间:2021/4/3/0003 9:14''' 计算0-100的和 '''num1=1sum=0while num1<=100:if num1%2==0:sum+=num1 num1+=1print('偶数和为',sum)
3. for - in 循环
for - in 循环
- in 表达从字符串或者序列等中依次取值,又称为遍历
- for-in遍历的对象必须是可迭代对象
a) 案例1 打印字幕
# 作者:互联网老辛# 开发时间:2021/4/3/0003 9:14for item in 'python':print(item)
依次从字符串中取出字母复制给item,并打印
range() 生成的一个整数序列也是可迭代的。
# 作者:互联网老辛# 开发时间:2021/4/3/0003 9:14for i in range(1,20,2):print(i)
b) 案例2 求1-100的偶数和
案例: 使用for循环计算1-100的偶数和
# 作者:互联网老辛# 开发时间:2021/4/3/0003 9:14''' 使用for循环计算1-100的偶数和 '''sum=0for i in range(1,101):if i%2:sum+=iprint("偶数和为", sum)
4. 流程控制语句break
用于结束循环结构,通常与分支结构if或者while一起使用
a) 密码验证案例
# 作者:互联网老辛# 开发时间:2021/4/3/0003 9:14''' 从键盘录入密码,最多录入3次,如果正确就循环结束 '''for item in range(3):pwd=input('请输入密码:')if pwd=='888888':print("密码正确")breakelse:print("密码不正确")
在这里插入代码片
使用while循环解决
# 作者:互联网老辛# 开发时间:2021/4/3/0003 9:14''' 从键盘录入密码,最多录入3次,如果正确就循环结束 '''a=0while a<3:pwd=input('请输入密码')if pwd=='0000':print('密码正确')breakelse:print("密码不正确")a+=1
5. 流程控制语句continue
用于结束当前循环,进入下一个循环,通常与分支结构if一起使用。
它与break的区别是,break直接退出循环,
a) 案例1
要求输出1-50之间所有5的倍数
# 作者:互联网老辛# 开发时间:2021/4/3/0003 9:14''' 输出5的倍数 5的倍数的共同点: 和5的余数为0的数字 '''#方法1for i in range(1,51):if i%5==0:print(i)#方法2使用continuefor item in range(1,51):if item%5!=0:continueprint(item)
6. else语句
else除了和if搭配,还可以和while,for搭配;
案例1:密码案例
a)方法一
# 作者:互联网老辛# 开发时间:2021/4/3/0003 9:14for item in range(3):pwd=input("请输入密码")if pwd=='8888':print("密码正确")breakelse:print('密码不正确')else:print("对不起你三次密码均输入错误,已经被锁定")
b) 方法2
# 作者:互联网老辛# 开发时间:2021/4/3/0003 9:14a=0while a<3:pwd=input("请输入密码")if pwd=='8888':print("密码正确")breakelse:print('密码不正确')a+=1else:print("对不起你三次密码均输入错误,已经被锁定")
7.嵌套循环
在一个完整的循环体中又嵌套了一个循环体
分为外部循环和内部循环。
案例1
# 作者:互联网老辛# 开发时间:2021/4/3/0003 9:14''' 输出一个三行四列的矩形 '''for i in range(1,4): #行表,执行3次for j in range(1,5): #列表,执行四次print('*',end='\t')print()#打行
案例2
打印直角三角形如下:
# 作者:互联网老辛# 开发时间:2021/4/3/0003 18:38for i in range(1,10): #行数for j in range(1,i+1):print('*',end='')print()
案例3
九九乘法口诀
# 作者:互联网老辛# 开发时间:2021/4/3/0003 18:38for i in range(1,10): #行数for j in range(1,i+1): print(i,'*',j, '=', i*j,end='\t')print()
总结:
今天正值清明,中午去了朝阳公园,带小儿子出去放风。 公园里紫叶粉百花绽放,千步连翘不染尘。
这篇文章因为中间出去玩,更新了两次, 每一个案例都在电脑上测试过,没有任何问题,如果大家有更好的建议,欢迎一起交流学习。
标签:0003,Python,零到,案例,range,详解,2021,print,老辛 来源: https://blog.51cto.com/xinsz08/2690286