一
循环语句(有两种):
while 语句
for 语句
while 语句:
问题:输入一个整数n,让程序输出n行的:
hello 1
hello 2
.......
hell n
while 语句:
作用:根据一定条件,重复的执行一条语句或多条语句
语法:
while 真值表达式:
语句块1......
else:
语句块2......
说明:
1,先执行真值表达式,测试布尔值为True或False
2,如果真值表达式的测试值为True,侧执行语句1,然后再返回到第一步重复进行测试
3,如果真值表达式的测试值为False。则执行else子句中的语句块2,然后结束此while语句的执行,如果没有else子句,则直接结束while语句的执行。
4,else子句部分可以省略(同if语句类似)。
12345678910111213141516 | 如:打印 10 行的hello i = 1 #创建并初始化一个控制while循环的变量i while i < = 10 : print ( "hello" ) #此处执行10次 i + = 1 #运行结果:[root@localhost data]# ./test.py hello hello hello hello hello hello hello hello hello hello |
while语句的注意事项:
1,要控制循环的真值表达式的值来防止死循环。
2,通常用真值表达式中的循环变量来控制循环条件。
3,通常在循环语句块內需要改变循环来控制循环的次数和变量的走向
while循环的嵌套:
while语句本身是语句,和其它的语句一样可以嵌套在其它复合语句中(如:if语句 ,while语句, for语句 ....内部)
while语句嵌套示意:
while 真值表达式:
.......
while 真值表达式2:
......
else:
........
else:
........
如:
输入一个数,打印指定宽度的正方形:
如:输入:5
123456789101112131415 | n = int ( input ( "输入一个数:" )) j = 1 while j < = n: i = 1 while i < = n: print (i,end = ' ' ) i + = 1 print () j + = 1 ######运行结果: 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 |
break 语句:
作用:用于循环语句(while,for语句)中,用来终止当前循环语句的执行。
说明:
1,当break语句执行后,此循环语句break之后的语句将不再执行
2,break语句通常和if语句组合使用。
3,break语句终止循环时,循环语句的else子句将不会被执行
4,break语句只能终止当前循环的执行,如果有循环嵌套时,不会跳出嵌套的外重循环
5,break语句只能在循环语句(while或for语句)内部使用
如:
123456789101112 | i = 1 while i < 10 : print ( "循环开始i=" ,i) if i = = 5 : #当i = 5时结束循环 break i + = 1 #运行结果:[root@localhost data]# ./test.py 循环开始i = 1 循环开始i = 2 循环开始i = 3 循环开始i = 4 循环开始i = 5 |
死循环 death loop:
1,死循环是指循环条件一直成立的循环
1,死循环通常用break语句来终止循环
3,死循环的else子句永远不会执行
如:用input输入一些文字,当输入三个*号时,代表输入结束,否则一直循环。
1234567891011121314 | s = "" while True : a = input ( "请输入文字(***结束)" ) if a = = '***' : break s + = a + '\n' ##运行结果:[root@localhost data]# ./test.py 请输入文字( * * * 结束)a 请输入文字( * * * 结束)b 请输入文字( * * * 结束)v 请输入文字( * * * 结束)c 请输入文字( * * * 结束)d 请输入文字( * * * 结束) * * * #输入三个*** 结束,退出循环 [root@localhost data] # |
二:
for 语句(循环语句)
作用:用来遍历可迭代对象的数据元素
语法:
for 变量列表 in 可迭代对象:
语句块1......
else:
语句块2......
语法说明:
1,可迭代对象每次提供一个元素依次赋值给变量列表中的变量,赋值完毕后执行语句块1,重复执行此步骤,
2,当可迭代对象不能够提供数据时,执行else子句部分的语句块2,然后退出循环。
如: s = 'ABCDE' for x in s: print (x) else : print ( "继续执行此条" ) #迭代对象不能够提供数据时,继续执行else中的这条 ##运行结果:[root@localhost data]# ./test.py A B C D E 继续执行此条 |
3,else子句部分可以省略(同while语句类似)
4,当在语句内部用break终止循环时,else子句部分语句块2不会执行,
可迭代对象时指能依次获取数据元素的对象
四:
for循环嵌套: 和while循环嵌套一样
如:
1234567891011121314 | for x in "ABC" : for y in "123" : print (x + y) ##运行结果: [root@localhost data] # ./test.py A1 A2 A3 B1 B2 B3 C1 C2 C3 |
经典否循环嵌套示例:
用for循环嵌套打印如下图形:
(输入一个数n(10以内)代表矩形的宽度和高度)
如: 输入:5
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9
n = int ( input ( "输入一个数:" )) for i in range ( 1 , n + 1 ): for j in range (i, i + n): print (j,end = ' ' ) else : print () #运行结果: [root@localhost data] # ./test.py 输入一个数: 5 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9 |
五:
continue 语句:
作用:用于循环语句(while,for语句)中,不再执行本次循环內continue之后的语句,重新开始一次新循环。
说明:
1,在while语句中执行continue语句,将直接跳转到while语句的真值表达式重新判断循环条件。
2,在for语句中执行continue语句,将会从可迭代对象中取下一个元素,绑定变量后再次进行循环。
如:
for i in range ( 5 ): if i = = 3 : #当i 等于3时,跳过打印,进行下一次循环。 continue print (i) #运行结果 [root@localhost data] # ./test.py 0 1 2 4 |
示例:
写一个程序,求1-100之间所不能被5,7,11整除的数的和。
s = 0 for i in range ( 1 , 101 ): if (i % 5 ) = = 0 or (i % 7 ) = = 0 or (i % 11 ) = = 0 : continue s + = i print (s) #运行结果: [root@localhost data] # ./test.py 3007 |
六:
range 函数:
作用:用来创建一个生成一系类整数的可迭代对象(也叫整数序列生成器。)
调用格式:
range(stop)
从零开始,每次生成一个整数后加1,操作,直到stop为止(不包含stop)
range(start,stop[,step])从start开始,每次生成一个整数后移动step,直到stop为止(不包含stop,且step可以为负数。)
注:如果直接打印range(5)或(print(range(5)))的时候会得到range(5),而不是一个列表,这是因为节省空间,防止过大的列表产生。
如:
>>> range ( 5 ) range ( 0 , 5 ) >>> |
如果想要到交互模式下得到列表,可以加入list到前面来进行,如下:
示例:
>>> list ( range ( 5 )) [ 0 , 1 , 2 , 3 , 4 ] >>> list ( range ( 1 , 6 )) [ 1 , 2 , 3 , 4 , 5 ] >>> list ( range ( 10 , 0 , - 1 )) [ 10 , 9 , 8 , 7 , 6 , 5 , 4 , 3 , 2 , 1 ] >>> list ( range ( 1 , 10 , 2 )) [ 1 , 3 , 5 , 7 , 9 ] >>> list ( range ( 5 , 0 , - 2 )) [ 5 , 3 , 1 ] >>> |
共同学习,写下你的评论
评论加载中...
作者其他优质文章