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