为了账号安全,请及时绑定邮箱和手机立即绑定

Python 循环 while,for语句

标签:
MySQL

循环语句(有两种):

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= 1      #创建并初始化一个控制while循环的变量iwhile i <= 10:        print("hello")   #此处执行10次        += 1 #运行结果:[root@localhost data]# ./test.py hellohellohellohellohellohellohellohellohellohello

while语句的注意事项:

1,要控制循环的真值表达式的值来防止死循环。

2,通常用真值表达式中的循环变量来控制循环条件。

3,通常在循环语句块內需要改变循环来控制循环的次数和变量的走向


while循环的嵌套:

while语句本身是语句,和其它的语句一样可以嵌套在其它复合语句中(如:if语句 ,while语句, for语句 ....内部)


while语句嵌套示意:

while 真值表达式:

.......

while 真值表达式2:

......

else:

........

else:

........

如:

输入一个数,打印指定宽度的正方形:

如:输入:5

123456789101112131415= int(input("输入一个数:"))= 1while j <= n:    = 1    while i <= n:        print(i,end=' ')        += 1    print()    += 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= 1while i < 10:        print("循环开始i=",i)        if == 5:      #当i = 5时结束循环                break        += 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= ""while True:        = input("请输入文字(***结束)")        if == '***':                break        += + '\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,然后退出循环。


如:= 'ABCDE' for in s:         print(x)else:           print("继续执行此条")    #迭代对象不能够提供数据时,继续执行else中的这条##运行结果:[root@localhost data]# ./test.py ABCDE继续执行此条

                3,else子句部分可以省略(同while语句类似)

4,当在语句内部用break终止循环时,else子句部分语句块2不会执行,

            可迭代对象时指能依次获取数据元素的对象

四:

for循环嵌套: 和while循环嵌套一样

如:

1234567891011121314for in "ABC":        for in "123":                print(x + y)##运行结果:[root@localhost data]# ./test.py A1A2A3B1B2B3C1C2C3

经典否循环嵌套示例:

                用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 


= int(input("输入一个数:"))for in range(1, n +1):    for in range(i, i + n):        print(j,end=' ')    else:        print()         #运行结果:[root@localhost data]# ./test.py 输入一个数:51 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 in range(5):        if == 3:    #当i 等于3时,跳过打印,进行下一次循环。                continue        print(i)#运行结果       [root@localhost data]# ./test.py 0124

示例:

写一个程序,求1-100之间所不能被5,7,11整除的数的和。


= 0 for in range(1,101):    if (i % 5== 0 or (i % 7== 0 or (i % 11== 0:        continue    += iprint(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(05)>>>

       如果想要到交互模式下得到列表,可以加入list到前面来进行,如下:

示例:


>>> list(range(5))      [01234]>>> list(range(1,6))    [12345]>>> list(range(10,0,-1))[10987654321]>>> list(range(1,10,2)) [13579]>>> list(range(5,0,-2))[531]>>>



点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消