找回密码
 会员注册
查看: 36|回复: 0

Python入门]Python中的循环语句(for循环语句)

[复制链接]

3

主题

0

回帖

10

积分

新手上路

积分
10
发表于 2024-9-6 19:12:14 | 显示全部楼层 |阅读模式
一、for循环简介循环就是重复做某件事,for循环是python提供第二种循环机制(第一种是while循环),理论上for循环能做的事情,while循环都可以做。for的语句格式如下:for   in  :        【循环体】注:通过for循环依次将中的数据取出赋值给,再通过【循环体】进行处理。例1:for循环访问列表#for循环访问列表代码:list=['张三','李四','王五']fori inlist:    print(i)输出结果:张三李四王五注意:i这个变量是在for循环中定义的,意思是,依次取出list中的每一个元素,并把元素赋值给i,然后执行for循环体。例2:for循环访问字典代码:dict={'张三':98,'李四':89,'王五':56}forkey,valueindict.items():    print(key,value)输出结果:张三98李四89王五56例3:for循环访问字符串#for循环访问字符串,可以依次读取每个字符代码:foreach in'Trkczx':    print(each)输出结果:'T''r''k''c''z''x''运行运行二、for...else...(比较少用到)for...else...格式:for   in  :        【循环体】else:         【else的语句块】注:for遍历序列,无break结束当前循环,循环结束后执行else语句块例1:list=['张三','李四','王五']fori inlist:    print(i)else:    print('循环完整结束后执行')输出结果:张三李四王五循环完整结束后执行例2:list=['张三','李四','王五']fori inlist:    print(i)    ifi =='李四':        break #break结束循环,for下的else也不会执行else:    print('循环完整结束后执行')输出结果:张三李四例3:list=['张三','李四','王五']fori inlist:    if =='李四':        continue #continue跳过本次循环,进入下一次循环    print(i) #如果被continue本条语句不会执行else:    print('循环完整结束后执行')输出结果:张三王五循环完整结束后执行注:continue只是跳过本次循环,循环结束后else语句块最后被执行三、for循环嵌套循环嵌套为循环中嵌套另外一层循环。forin:     forin:         【内层循环体】     【外层循环体】这个只是一个for与for的循环嵌套,当然也可以使用for与while嵌套。循环嵌套经典例1:倒三角的九九乘法表#九九乘法表运行代码:foriinrange(1,10):    forjinrange(i,10):        print('%d*%d=%d'%(i,j,i*j),end='\t')print('') #控制换行运行结果:1*1=1 1*2=2 1*3=3 1*4=4 1*5=5 1*6=6 1*7=7 1*8=8 1*9=9 2*2=4 2*3=6 2*4=8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18 3*3=9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 3*9=27 4*4=16 4*5=20 4*6=24 4*7=28 4*8=32 4*9=36 5*5=25 5*6=30 5*7=35 5*8=40 5*9=45 6*6=36 6*7=42 6*8=48 6*9=54 7*7=49 7*8=56 7*9=63 8*8=64 8*9=72 9*9=81例2:冒泡排序#冒泡排序(1)定义冒泡排序(BubbleSort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行,直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。(2)运行代码:list=[9,2,7,4,5,6,3,8,1,10]n=0foriinrange(len(list)-1):    forjinrange(len(list)-i-1):        iflist[j]>>list=[0,1,2,3,4]>>>it=iter(list) #创建迭代对象>>>print(next(it)) #访问当前指针元素,结束后指针向下移一步0>>>print(next(it))1>>>2、for循环访问迭代器示例:代码:list=['张三','李四','王五']a=iter(list) #创建迭代器对象foreach ina: #循环访问迭代器print(each)运行结果:张三李四王五注意:迭代器访问数据比通过索引循环访问速度更快,数据量大时一般会使用迭代器五、range()类控制循环访问range()为Python的自有类,range()带有内置的迭代方法__iter__()和__next()__,它是一个可迭代对象,我们可以通过for访问range()创建的迭代器。注:__iter__()和__next()__左右均为两个_下横线range类初始化参数说明:range(stop)从0开始到stop结束(不包含stop)返回一个产生整数序列的迭代对象。range(start,stop[,step])从start开始到stop结束(不包含stop)返回一个整数序列的迭代对象,step为他的步长。例1:代码:foriinrange(5):    print(i)输出:01234'运行运行例2:代码:foriinrange(1,5):    print(i)运行结果:1234'运行运行示例3:代码:foriinrange(1,5,2):    print(i)运行结果:13'运行运行例4:代码:foriinrange(-1,-5,-2):    print(i)运行结果:-1-3'运行运行注意:start,stop,step三个参数可以为负数例5:#结合range()和len()函数以遍历一个序列的索引。代码:list=['张三','李四','王五']foriinrange(len(list)):    print(list[i])运行结果:张三李四王五注:for循环可作用的迭代对象远不止list,tuple,str,unicode,dict等,任何可迭代对象都可以作用于for循环,而内部如何迭代我们通常并不用关心。通常可迭代对象一般具备iter()和next()方法或者__iter__()和__next()__方法。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-10 14:20 , Processed in 0.766429 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表