zoukankan      html  css  js  c++  java
  • Python3循环

    Python中while语句的一般形式:

    while 判断条件:

           语句

    同样需要注意冒号和缩进,另外在Python中没有do…while循环

    下面的实例计算1到100总和

    ##calc.py
    n = 100
    
    sum = 0
    counter = 1
    while counter <= n:
        sum = sum + counter
        counter += 1
    
    print("total from 1 to 100 : %d",sum)

    运行结果:

    robot@ubuntu:~/wangqinghe/python/20190826$ python3.5 calc.py

    total from 1 to 100 : %d 5050

    while循环中使用else语句

    在while…else在条件语句为false时执行els语句块

    #while.py
    count = 0
    while count < 5:
        print(count," < 5")
        count = count + 1
    else :
        print(count ," >= 5")

    运行结果:

    robot@ubuntu:~/wangqinghe/python/20190826$ python3.5 while.py

    0  < 5

    1  < 5

    2  < 5

    3  < 5

    4  < 5

    5  >= 5

    for循环:

    Python for循环可以遍历任何序列的项目,如一个列表或一个字符串

    for循环的 一般格式如下

    for <variable> in <sequence>:
        <statement>
    else:
        <statement>

    实例:

    break语句用于跳出当前循环体:

    ##break.py
    sites = ["Baidu","Google","Runoob","Taobao"]
    for site in sites:
        if site == "Runoob":
            print("cainiao!")
            break
        print("loop data " + site)
    else:
        print("Having no loop data!")
    print("loop end!")

    运行结果:

    robot@ubuntu:~/wangqinghe/python/20190826$ python3.5 break.py

    loop data Baidu

    loop data Google

    cainiao!

    loop end!

    range()函数

    如果你需要遍历数字序列,可以使用内置的range()函数,它会生成数列,例如:

     

    也可以使range以指定数字开始并指定不同的增量,(甚至可以是负数,有时这也叫步长)

     

      

    负数:

     

    也可以结合range()和len()函数以遍历一个序列的索引:

     

    还可以使用range()函数来创建一个列表:

     

    break和continue语句及循环中的else子句

    break语句可以跳出for和while循环体,如果你从for或while循环终止,任何对应的循环else块将不执行:

    #else.py
    for letter in 'Runoob':
        if letter == 'b':
            break;
        print('the current letter : ',letter)
    
    print("the next example")
    
    var = 10
    while var > 0:
        print('the current variable : ',var)
        var = var - 1
        if var == 5:
            break;
    print("GOOF bye!")

    运行结果:

    robot@ubuntu:~/wangqinghe/python/20190826$ python3 else.py

    the current letter :  R

    the current letter :  u

    the current letter :  n

    the current letter :  o

    the current letter :  o

    the next example

    the current variable :  10

    the current variable :  9

    the current variable :  8

    the current variable :  7

    the current variable :  6

    GOOF bye!

    continue语句被用来Python跳出当前循环块的剩余语句,然后继续下一轮循环。

    循环语句可以有else子句,它在穷尽列表(for循环)或条件变为false(以while循环)导致循环终止时被执行,但循环被break终止时不执行。

    下列是查询质数的循环例子:

    ##prime.py
    for n in range(2,10):
        for x in range(2,n):
            if n % x == 0:
                print(n," == ",x, '*', n//x )
                break
        else:
            print(n," is prime")

    运行结果:

    robot@ubuntu:~/wangqinghe/python/20190826$ python3 prime.py

    2  is prime

    3  is prime

    4  ==  2 * 2

    5  is prime

    6  ==  2 * 3

    7  is prime

    8  ==  2 * 4

    9  ==  3 * 3

    pass语句

    Python pass是空语句,是为了保持程序结构的完整性。

    pass不做任何事情,一般用作占位语句:

    #pass.py
    for letter in 'Runoob':
        if letter == 'o':
            pass
            print('execute pass block')
        print('the current letter : ',letter)
    
    print("Good bye!")

    运行结果:

     robot@ubuntu:~/wangqinghe/python/20190826$ python3 pass.py

    the current letter :  R

    the current letter :  u

    the current letter :  n

    execute pass block

    the current letter :  o

    execute pass block

    the current letter :  o

    the current letter :  b

    Good bye!

    pass只是为了防止语法的错误

    pass就是一条空语句,在代码段中或定义函数时,如果没有内容,或者就先不做任何处理,直接跳过,就可以先使用pass

    十进制转换:

    #translate.py
    while True:
        number = input('please input a integer(enter Q exit ):')
        if number in ['q','Q']:
            break
        elif not number.isdigit():
            print("input error,please continue input : ")
            continue
        else:
            number = int(number)
            print("decimal --> hexadecimal: %d -> 0x%x"%(number,number))
            print("decimal --> octonary: %d -> 0x%o"%(number,number))
            print("decimal --> binary: %d -> "%number,bin(number))

    运行结果:

    robot@ubuntu:~/wangqinghe/python/20190826$ python3 translate.py

    please input a integer(enter Q exit ):9

    decimal --> hexadecimal: 9 -> 0x9

    decimal --> octonary: 9 -> 0x11

    decimal --> binary: 9 ->  0b1001

    please input a integer(enter Q exit ):18

    decimal --> hexadecimal: 18 -> 0x12

    decimal --> octonary: 18 -> 0x22

    decimal --> binary: 18 ->  0b10010

    please input a integer(enter Q exit ):q

  • 相关阅读:
    java 泛型 -- 泛型类,泛型接口,泛型方法
    android:id="@id/resid" , andorid:id="@+id/resid" 的区别
    Ubuntu16.04 + Win 10 双系统 时间同步,启动项顺序,NumLock指示灯常亮
    Linux 下 Console / 控制台 复制粘贴快捷键
    Android 快速开发框架:推荐10个框架:afinal、ThinkAndroid、andBase、KJFrameForAndroid、SmartAndroid、dhroid..
    JQuery的Ajax跨域请求的
    1031. Hello World for U (20)
    项目进阶 之 集群环境搭建(三)多管理节点MySQL集群
    Tomcatserverhttps协议配置简单介绍
    Unity3D
  • 原文地址:https://www.cnblogs.com/wanghao-boke/p/11414083.html
Copyright © 2011-2022 走看看