zoukankan      html  css  js  c++  java
  • python学习之第八课时--for和while循环

    • while循环

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

    while循环主要结构:

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    while codition:
        expressions
    #注意:当codition=True时,程序将永远执行下去,若要停止使用ctrl+c终止程序

    代码块

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

    如:

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    import time
    #引用计时器模块
    a=True
    b=1
    while a:
        print(b)
        time.sleep(1)
    #调用计时器

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

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

    如:

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    a=True
    b=1
    while a:
        print(b)
        if b==10:
            a=False
        b+=1
    #变量b 自身累积加1
        time.sleep(1)
    #调用计时器

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

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

    如: 循环出1到10

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

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

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

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

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

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

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

    如:

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    a=True
    b=1
    s=0
    while a:
        if b==100:
            a=False
        s+=b
        b+=1
    print(s)

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

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

    如:

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    a=1
    while a<=100:
        if a%2==0:
            print(a)
        else:
            pass
        a+=1

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

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    a=1
    while a<=100:
        if a%2!=0:
            print(a)
        else:
            pass
        a+=

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

    如:

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    a=1
    b=0
    while a<=99:
        if a%2!=0:
            b=b-a
        else:
            b=b+a
        a+=1
    print(b)

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

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

    如:

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    a=0
    while a<=3:
        name=input("请输入用户名:")
        password=input("请输入密码:")
        if name=="luqinag" and password=="helloworld":
            print("恭喜登录成功")
            break
        else:
            print("sorry,用户名或密码错误")
        a+=1

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

    • for循环

     它可以遍历序列成员(字符串,数组,元组),主要用于循环一个字符串列表等

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

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

     打印循环定义变量即可

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

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

     for循环可以遍历字符串中的每个元素

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    a="life is short,you need python"
    for b in a:
        print(b)
    • 关键字应用
    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    a="life is short,you need python"
    for b in a:
        if b=="p":
            continue
    #跳出本次循环 继续下次循环
        else:
            print(b)
    #循环出所有字母和空格,p除外

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

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

    补充:

    在其他编程语言中,如javaC/C++中,存在Do-while 循环

    备注:do-while循环和while循环基本一样,不同的是它先执行循环体一次,然后判断循环继续条件

  • 相关阅读:
    UVA 254 Towers of Hanoi
    UVA 701 The Archeologists' Dilemma
    UVA 185 Roman Numerals
    UVA 10994 Simple Addition
    UVA 10570 Meeting with Aliens
    UVA 306 Cipher
    UVA 10160 Servicing Stations
    UVA 317 Hexagon
    UVA 10123 No Tipping
    UVA 696 How Many Knights
  • 原文地址:https://www.cnblogs.com/LQ6H/p/python-8.html
Copyright © 2011-2022 走看看