• 初始While循环和for循环


    While循环

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

    格式:

      While 条件:

         代码块

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

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

      如: 循环出1到5

    复制代码
    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    import time #引用计时器模块
    s = 1
    while True:
    print(s)
    if s == 5:
    break
    s+=1 #变量s自身累积加1
    time.sleep(1) #调用计时器
    复制代码

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

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

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

    复制代码
    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    import time #引用计时器模块
    s = 1
    while True:
    if s == 5:
    s+=1
    continue
    print(s)
    if s==10:
    break
    s+=1 #变量s自身累积加1
    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)

      如: 

    复制代码
    # !/usr/bin/env python
    # -*- coding:utf-8 -*-
    s = 1
    t = 0
    while s<101:
    t = t + s
    s += 1 #变量s自身累积加1
    print(t)
    复制代码

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

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

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

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

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

    复制代码
    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    s = 1
    while s <101:
    t = s % 2 #让s变量的值求余后重新赋值给t变量
    #s求余等于0为偶数,等于1为奇数
    if t == 0:
    print(s)
    else:
    pass
    s += 1 #变量s自身累积加1
    复制代码

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

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

      如:

    复制代码
    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    n = 0
    s = 1
    while s <= 99:
    if s%2==1:
    n = n + s
    else:
    n =n - s
    s += 1
    print(n)
    复制代码

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

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

      如: 

    复制代码
    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    a = 0
    while a < 3:
    name = input("请输入用户名")
    pwd = input("请输入密码")
    if name == "xiaoxiao" and pwd== "123":
    print("恭喜你登录成功")
    break
    else:
    print("很遗憾密码或用户名错误")
    a += 1
    复制代码

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

      

    for循环

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

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

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

      打印循环定义变量即可

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

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

    复制代码
    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    # #for循环
    #b为循环自定义变量
    a = "abcdefghijklmnopqrstuvwxyz"
    for b in a:
    print(b)
    #循环出所有字母
    复制代码

      关键字应用

    复制代码
    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    # #for循环
    #b为循环自定义变量
    a = "abcdefghijklmnopqrstuvwxyz"
    for b in a:
    if b == "f":
    continue #跳出本次循环 继续下次环
    else:
    print(b)
    #循环出所有字母(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): #首先要用enumerate()函数给被循环对象,添加一个键也就是下标,这样就可以在循环里定义两个变量来分别接受键和值,
    #print(k,v)#这样就能拿到键和值,用if判断键来获取某一次需要的值
    #如:要获取第5次循环的值
    print(k,v) #打印所有值和下标
    if k == 5: #如果键等于5就打印这次循环的值
    print(v)
    # 输出
    # 66
  • 相关阅读:
    $ [Contest #4]$求和 思博题
    洛谷$P1864 [NOI2009]$二叉查找树 区间$dp$
    洛谷$P4045 [JSOI2009]$密码 $dp$+$AC$自动机
    $bzoj2560$ 串珠子 容斥+$dp$
    洛谷$P1600$ 天天爱跑步 树上差分
    $loj526 [LibreOJ eta Round #4]$ 子集 图论
    $CF888G Xor-MST$ 最小生成树
    $bzoj4152 The Captain$ 最短路
    洛谷$P3645 [APIO2015]$雅加达的摩天楼 最短路
    $bzoj4722$ 由乃 搜索
  • 原文地址:https://www.cnblogs.com/zjltt/p/6802269.html
Copyright © 2020-2023  润新知