前面文章我们已经通过实例讲解python编程中的if条件控制语句,我们知道控制语句在编程中运用很广泛。同样,循环控制语句的运用一样广泛。本文将为大家讲解循环语句,所谓的循环就是让特定代码重复执行,解决重复的操作。python中循环语句主要有while和for语句,下面通过实例让大家快速上手循环语句的运用。一、while语句的基本语法
while循环最常用的应用场景就是让执行的代码按照指定的次数重复执行。
1、while循环的语法如下:
while 判断表达式: 循环体
即当判断表达式成立(为真(True))时,执行循环体。如果判断表达式一直成立,则此时的循环体就是无限循环了,需要注意无限循环的使用。
注意:同样需要注意冒号和缩进。
实例1:通过while循环实现1-100中所有整数的和,使用代码如下:
#encoding:UTF-8sum=0count=1while count <= 100: #当判断表达式成立时,循环体一直执行 sum=sum+count count=count+1print("1-100中所有整数之和为:",sum)
以上代码执行结果如下所示:
1-100中所有整数之和为:5050
2、while...else模式的基本语法如下:
while 判断表达式1: 循环体1else: 执行语句2
即当判断表达式1成立(为真(True))时,执行循环体;
当判断表达式1不成立(为假(False))时,执行else模块下的执行语句2;
相应实例代码使用如下:
#encoding:UTF-8num=1while num <=10: print("num此时为:",num) num=num+1else: print("num此时为%s,即当num大于10时,跳出循环体,执行else后面的语句了!" %num)
以上代码执行结果如下所示:
二、for语句的基本语法
1、for语句主要用于遍历一些序列、可迭代的对象,如列表、元组、字典等序列。
1、for循环的基本语法如下:
for 变量 in 序列: 执行语句1
实例1:通过for语句遍历元组序列。使用代码如下:
#encoding:UTF-8#遍历元组for j in ('a','b','c','d'): print(j)
以上代码执行结果如下所示:
abcd
实例2:通过for语句遍历列表序列。使用代码如下:
#encoding:UTF-8#遍历列表for i in [1,3,5,7,9]: print(i)
以上代码执行结果如下所示:
13579
实例3:通过for语句遍历字符串序列。使用代码如下:
#encoding:UTF-8#遍历字符串for k in "hello": print(k)
以上代码执行结果如下所示:
hello
实例4:通过for语句遍历字典序列的应用。这部分在字典那个知识点其实已经用到过的。使用代码如下:
#encoding:UTF-8dict1={"one":1,"two":2,"three":3,"four":4,"five":5,"six":6}#6、通过keys()方法以像列表的形式返回可遍历的字典中的键,可以通过list()方法将其转成列表print("dict1中的key为:",dict1.keys())print("dict1中key列表形式为:",list(dict1.keys()))for k in dict1.keys(): #可以通过for循环来遍历可迭代对象 print("字典键为:",k)#7、通过values()方法以像列表的形式返回可遍历的字典中的value值,可以通过list()方法将其转成列表print("dict1中的value为:",dict1.values())print("dict1中value列表形式为:",list(dict1.values()))for v in dict1.values(): #可以通过for循环来遍历可迭代对象 print("字典值为:",v)#8、通过items()方法以像列表的形式返回可遍历的字典中的(键,值)l1=dict1.items()print(type(l1))print("dict1中的key-valus对应为:",dict1.items())for k,v in dict1.items(): #可通过for循环进行遍历 print(k,":\t",v)
以上代码执行结果如下所示:
dict1中的key为:dict_keys(['one', 'two', 'three', 'four', 'five', 'six'])dict1中key列表形式为:['one', 'two', 'three', 'four', 'five', 'six']字典键为:one字典键为:two字典键为:three字典键为:four字典键为:five字典键为:sixdict1中的value为:dict_values([1, 2, 3, 4, 5, 6])dict1中value列表形式为:[1, 2, 3, 4, 5, 6]字典值为:1字典值为:2字典值为:3字典值为:4字典值为:5字典值为:6<class 'dict_items'>dict1中的key-valus对应为:dict_items([('one', 1), ('two', 2), ('three', 3), ('four', 4), ('five', 5), ('six', 6)])one : 1two : 2three : 3four : 4five : 5six : 6
2、for语句遍历range()函数
range()是python内置的一个函数,可以通过for循环遍历该函数,获取我们需要的一些数据,以下通过实例演示,大家可以通过规律分析其中使用规则。
使用代码如下:
#encoding:UTF-8for i in range(6): print("i为:",i) #遍历获取到0-5的整数print("分隔符******************************")for j in range(1,10): print("j为:",j) #遍历获取到1-9的整数,包头不包尾print("分隔符******************************")for k in range(1,10,3): print("k为:",k) #遍历1-9的整数,按照3为步长打印kprint("分隔符******************************")for m in range(-1,-10,-3): print("m为:",m)
以上代码执行结果如下所示:
i为:0i为:1i为:2i为:3i为:4i为:5分隔符******************************j为:1j为:2j为:3j为:4j为:5j为:6j为:7j为:8j为:9分隔符******************************k为:1k为:4k为:7分隔符******************************m为:-1m为:-4m为:-7
3、for循环中带else模式,其基本语法如下:
for 变量 in 序列: 执行语句1else: 执行语句2
即表示它在循环结束时执行。但请区分注意:当循环被 break 终止时不执行。好好体会break与continue的区别后再来看看for循环中带else的使用。
该模式下的使用代码如下:
#encoding:UTF-8for i in range(1,10): if i%2 == 0: print("i的值为%s,可以被2整除"%i)else: print("i的值为%s,这是遍历range(1,10)结束时执行的语句!"%i)
以上代码执行结果如下所示:
i的值为2,可以被2整除i的值为4,可以被2整除i的值为6,可以被2整除i的值为8,可以被2整除i的值为9,这是遍历range(1,10)结束时执行的语句!
三、循环语句中的break与continue使用区别
python循环语句中,可以通过与break或者continue结合使用中止循环,但是break和continue又有所区别:
1)break语句可以跳出for和while的循环体。如果你从for或while循环中终止,任何对应的循环else块将不再执行。
2)continue语句被用来告诉python跳过当前循环块中的剩余语句,然后继续进行下一轮循环。
以下通过例子,大家好好去体会其中的奥妙。
实例1:while循环中使用break语句,使用代码如下:
#encoding:UTF-8n=0while n < 5: n = n + 1 if n == 2: break #当n=2时,直接跳出while循环,不再执行后面任何语句 print(n)
以上代码执行结果如下所示:
1
实例2:while循环中使用continue语句,使用代码如下:
#encoding:UTF-8n=0while n < 5: n = n + 1 if n == 2: continue #当n=2时,跳出当前循环,不再执行往后任何语句,继续下一轮循环 print(n)
以上代码执行结果如下所示:
1345
实例3:for循环中使用break语句,使用代码如下:
#encoding:UTF-8for i in range(1,6): #遍历1-5之间的整数 if i == 3: #当i=3时,跳出整个循环体,不再执行后面任何语句 break print("i为:",i)
以上代码执行结果如下所示:
i为: 1i为: 2
实例4:while循环中使用continue语句,使用代码如下:
#encoding:UTF-8for i in range(1,6): #遍历1-5之间的整数 if i == 3: #当i=3时,跳出当前循环,不再执行后面语句,继续下一次循环 continue print("i为:",i)
以上代码执行结果如下所示:
i为: 1i为: 2i为: 4i为: 5
实例5:for...else模式下使用break语句,代码如下:
#encoding:UTF-8for i in range(1,10): if i == 5: break print("i为",i)else: print("i为:",i)
以上代码执行结果如下所示:
i为 1i为 2i为 3i为 4
实例6:for...else模式下使用continue语句,代码如下:
#encoding:UTF-8for i in range(1,10): if i == 5: continue print("i为",i)else: print("循环结束时i为:",i)
以上代码执行结果如下所示:
i为 1i为 2i为 3i为 4i为 6i为 7i为 8i为 9循环结束时i为: 9
四、循环体中的pass语句
pass是空语句,是为了保持程序结构的完整性。一般当做占位语句使用。
使用代码如下:
while True: pass #不执行任何操作,占位用,使得循环结构完整
好了,本文关于循环语句的学习到此结束,希望大家可以掌握其基本的语法结构,通过不断练习,掌握其执行的原理,后面的学习中将会用到更多关于循环语句的编程实例。