• 第十节,While循环和for循环


    While循环

      While循环,是一个循环加判断的组合,满足判断条件返回 (True)开始循环代码块,不满足判断条件返回 ()不循环

    格式:

      While 条件:

         代码块

      注意:在While循环里如果不加终止循环的判断或者关键字,会一直循环(死循环)

      如:  

    1 #!/usr/bin/env python
    2 # -*- coding:utf-8 -*-
    3 import time #引用计时器模块
    4 n = True
    5 s = 1
    6 while n:
    7     print(s)
    8     time.sleep(1) #调用计时器

      如上列While循环判断变量n等于True(真)的时候开始循环里面的代码块,打印变量s,遇到计时器等待1秒后,在重复这个过程(死循环)

    While循环 与 if判断 的结合应用,从1循环到10终止

      如:  

     1 #!/usr/bin/env python
     2 # -*- coding:utf-8 -*-
     3 import time #引用计时器模块
     4 n = True
     5 s = 1
     6 while n:
     7     print(s)
     8     if s == 10:
     9         n = False
    10     s+=1 #变量s自身累积加1
    11     time.sleep(1) #调用计时器

     上列是从1循环到10终止,While循环判断n变量为True(真),开始循环代码块,打印s变量值为1,下来遇到if判断s变量值是否等于10,显然不等于,不等于就调过判断,在下来遇到s+=1(就是s变量自身的值加1,相等于s=s+1),此时s变量的值就是2了,在下来遇到计时器等待1秒,然后开始再次重复的循环直到s变量累积相加到10,if判断s变量等于10了,执行if判断里面的代码块,if代码块里面是n变量重新赋值等于False(假),此时n变量已经是False(假)了,在次循环时,While循环条件判断到n变量为假了,不在执行While循环终止

    While循环  关键字(break)   跳出整个循环 不在循环

      如: 循环出1到10

     1 #!/usr/bin/env python
     2 # -*- coding:utf-8 -*-
     3 import time #引用计时器模块
     4 n = True
     5 s = 1
     6 while n:
     7     print(s)
     8     if s == 10:
     9         break
    10     s+=1 #变量s自身累积加1
    11     time.sleep(1) #调用计时器

      上列,当循环到10时,if判断s变量等于10的时候,执行if里面的代码块遇到 break (跳出整个循环 不在循环) 就直接跳出并且不在循环了

    While循环  关键字(continue)   跳出本次循环  继续下次环

      如:循环出1、2、3、4、  6、7、8、9、10、 跳出5 

     1 #!/usr/bin/env python
     2 # -*- coding:utf-8 -*-
     3 import time #引用计时器模块
     4 n = True
     5 s = 1
     6 while n:
     7     if s == 5:
     8         s += 1
     9         continue
    10     print(s)
    11     if s == 10:
    12         break
    13     s += 1 #变量s自身累积加1
    14     time.sleep(1) #调用计时器

    如上列,当循环到5的时候if判断到后,执行if里面的代码块,if里 s变量加1就是6,continue跳出本次循环,再次循环时s变量是6了,if判断等于5就不成立了跳过判断,往下执行,直到第二个if判断到等于10后遇到break跳出整个循环不在循环

    While循环  求1-100所有数相加的和(1+2+3+4+5...+100)

      如: 

     1 #!/usr/bin/env python
     2 # -*- coding:utf-8 -*-
     3 n = True
     4 s = 1
     5 t = 0
     6 while n:
     7     print(s)
     8     t = t + s
     9     if s == 100:
    10         break
    11     s += 1 #变量s自身累积加1
    12 print(t)

      如上列,t = t + s 就是每次循环到这里的时候,将s变量自身累积加1的值在加上t变量的值重新赋值给t变量(这里可以理解为,s变量每次循环自身累积加1的值,在加上t变量的值,重新赋值给t变量做一个登记)最后在打印这个t变量,t变量最后的登记,就是整个循环相加的和

    While循环 加 if判断  输出1-100内的所有奇数 

     1 #!/usr/bin/env python
     2 # -*- coding:utf-8 -*-
     3 s = 1
     4 while s <= 100:
     5     t = s % 2 #让s变量的值求余后重新赋值给t变量
     6     #s求余等于0为偶数,等于1为奇数
     7     if t == 1:
     8         print(s)
     9     else:
    10         pass
    11     s += 1 #变量s自身累积加1

      也就是先循环出1-100,然后在循环里定义一个变量t,将每次循环到的s变量值求余后赋值给t变量,然后判断t变量的值,如是1就是奇数打印出s变量,如果不是1就是偶数就不打印pass,这样就循环加判断的方式,打印出了1-100内的所以奇数。

    While循环 加 if判断  输出1-100内的所有偶数 

     1 #!/usr/bin/env python
     2 # -*- coding:utf-8 -*-
     3 s = 1
     4 while s <= 100:
     5     t = s % 2 #让s变量的值求余后重新赋值给t变量
     6     #s求余等于0为偶数,等于1为奇数
     7     if t == 0:
     8         print(s)
     9     else:
    10         pass
    11     s += 1 #变量s自身累积加1

      也就是先循环出1-100,然后在循环里定义一个变量t,将每次循环到的s变量值求余后赋值给t变量,然后判断t变量的值,如是0就是偶数打印出s变量,如果不是0就是奇数就不打印pass,这样就循环加判断的方式,打印出了1-100内的所以奇数。

    While循环 加 if判断  求1-2+3-4+5...99的所有数的和

      如:

     1 #!/usr/bin/env python
     2 # -*- coding:utf-8 -*-
     3 r = 0
     4 s = 1
     5 while s <= 99:
     6     t = s % 2
     7     if t == 1:
     8         r = r + s
     9     else:
    10         r = r - s
    11     s += 1
    12 print(r)

      也就是在循环里做判断,循环到的是奇数就相加,如果是偶数就相减,每一次循环的相加或者相减,赋值给 r变量记录一下,r变量最后的记录就是我们得到的加减后的和

    While循环 加 if判断  用户输入用户名和密码有3次机会

      如: 

     1 #!/usr/bin/env python
     2 # -*- coding:utf-8 -*-
     3 a = 0
     4 while a < 3:
     5     yh = input("请输入用户名")
     6     mm = input("请输入密码")
     7     if yh == "guixiu" and mm == "123":
     8         print("恭喜你登录成功")
     9         break
    10     else:
    11         print("很遗憾密码或用户名错误")
    12     a += 1

      也就是用While循环 加 if判断,在循环里判断用户输入的用户名和密码是否正确,正确就登录成功退出整个循环,不正确提示错误,变量a加1,再次循环重复操作,当变量a的值大于3时,循环条件不在成立,停止循环

      

    for循环

      主要用于循环一个字符串列表等

      不需要判断,定义一个循环变量即可

      格式:for (循环定义变量) in (被循环的变量)    循环完后自动退出整个循环

      打印循环定义变量即可

      关键字(continue)   跳出本次循环  继续下次环

      关键字(break)   跳出整个循环 不在循环

    1 #!/usr/bin/env python
    2 # -*- coding:utf-8 -*-
    3 # #for循环
    4 #b为循环自定义变量
    5 a = "abcdefghijklmnopqrstuvwxyz"
    6 for b in a:
    7     print(b)
    8 #循环出所有字母

      关键字应用

     1 #!/usr/bin/env python
     2 # -*- coding:utf-8 -*-
     3 # #for循环
     4 #b为循环自定义变量
     5 a = "abcdefghijklmnopqrstuvwxyz"
     6 for b in a:
     7     if b == "f":
     8         continue #跳出本次循环  继续下次环
     9     else:
    10         print(b)
    11 #循环出所有字母(f除外)

    如何只获取for里的第某一次值【重点】 

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    """如何只获取for里的第某一次值"""
    a = [11, 22, 33, 44, 55, 66, 77, 88, 99]
    for k, v in enumerate(a,1): #首先要用enumerate()函数给被循环对象,添加一个键也就是下标,这样就可以在循环里定义两个变量来分别接受键和值,
        #print(k,v)#这样就能拿到键和值,用if判断键来获取某一次需要的值
        #如:要获取第6次循环的值
        if k == 6: #如果键等于6就打印这次循环的值
            print(v)
    # 输出
    # 66

      

  • 相关阅读:
    【资源集合】知识学习途径
    【经验总结】vue + element-ui 踩坑—— table 篇
    quartz和crontab的区别
    pycharm自动生成文件注释和函数注释
    IDEA设置类注解和方法注解(详解)
    kali linux 中科大 source
    kali中签名出错
    GTK+入门教程
    GTK hello player
    libgtk Gtk 窗口,控件,设置(添加图片等)
  • 原文地址:https://www.cnblogs.com/adc8868/p/5524774.html
Copyright © 2020-2023  润新知