ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

【Python从零到壹】Python的循环结构详解

2021-04-07 15:01:45  阅读:233  来源: 互联网

标签:0003 Python 零到 案例 range 详解 2021 print 老辛


欢迎大家来到互联网老辛的专栏《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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有