zoukankan      html  css  js  c++  java
  • Python3-2020-测试开发-11- 循环

    一、直接上题

    练习一:

    """
    0  0  0  0  0  
    1  1  1  1  1  
    2  2  2  2  2  
    3  3  3  3  3  
    4  4  4  4  4  
    """

    代码:

    for i in range(5):
    
        for j in range(5):
    
    
            print(i,end="	")
    
        print()

    练习二:九九乘法表

    1*1=1 1*2=2 1*3=3 1*4=4 1*5=5 1*6=6 1*7=7 1*8=8 1*9=9
    2*2=4 2*3=6 2*4=8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18
    3*3=9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 3*9=27
    4*4=16 4*5=20 4*6=24 4*7=28 4*8=32 4*9=36
    5*5=25 5*6=30 5*7=35 5*8=40 5*9=45
    6*6=36 6*7=42 6*8=48 6*9=54
    7*7=49 7*8=56 7*9=63
    8*8=64 8*9=72
    9*9=81

    代码:

    print("***************************左上角**********************************")
    for i in range(1,10):
    
        for j in range(i,10):
    
    
            print("{0}*{1}={2}".format(i,j,i*j),end="	")
    
        print()
    输出:
    1*1=1    
    2*1=2    2*2=4    
    3*1=3    3*2=6    3*3=9    
    4*1=4    4*2=8    4*3=12    4*4=16    
    5*1=5    5*2=10    5*3=15    5*4=20    5*5=25    
    6*1=6    6*2=12    6*3=18    6*4=24    6*5=30    6*6=36    
    7*1=7    7*2=14    7*3=21    7*4=28    7*5=35    7*6=42    7*7=49    
    8*1=8    8*2=16    8*3=24    8*4=32    8*5=40    8*6=48    8*7=56    8*8=64    
    9*1=9    9*2=18    9*3=27    9*4=36    9*5=45    9*6=54    9*7=63    9*8=72    9*9=81
    代码:
    print("***************************左下角**********************************")
    
    for i in range(1,10):
    
        for j in range(1,i+1):
    
            print("{0}*{1}={2}".format(i,j,i*j),end="	")
    
        print()

    二、while  ...else...  和   for ...else...

    # while...else...或者for ...else...
    # 仅循环正常结束才可执行else语句,中途break,不会执行else

    代码:

    salary = []
    
    for i in range(5):
    
        s = input("请录入薪资,输入q或者Q退出:")
    
        if s.upper() == "Q":
    
            print("您已退出!")
            break
        if float(s)<0:
    
            continue
    
        salary.append(float(s))
    else:
    
        print("您已录入全部薪资!")
    print("录入薪资为:{0}".format(salary))

    三、循环代码中的性能问题

    """
    循环代码的优化
    1. 尽量减少循环内部不必要的计算
    2. 嵌套循环中,尽量减少内层循环的计算,尽可能向外面提
    3. 局部变量查询较快,尽量使用局部变量
    """

    代码:

    import time
    
    start1 = time.time()
    
    for i in range(1000):
    
        result = []
    
        for j in range(10000):
    
            result.append(i*1000+j*100)
    
    end1 = time.time()
    print("耗时:{0}".format(end1-start1))
    
    
    start2 = time.time()
    
    for i in range(1000):
        result = []
        c = i*1000
        for j in range(10000):
    
            result.append(c+j*100)
    end2 = time.time()
    print("耗时:{0}".format(end2-start2))

    输出:

    """
    耗时:1.8224585056304932
    耗时:1.5470783710479736
    """

     四、zip并行迭代

    """并行迭代"""
    
    names = ("宝一","宝二","宝三")
    ages = (18,19,20)
    jobs = ("teacher","mother","dancer")
    
    for name,age,job in zip(names,ages,jobs):
    
        print("{0}--{1}--{2}".format(name,age,job))

    输出

    宝一--18--teacher
    宝二--19--mother
    宝三--20--dancer
  • 相关阅读:
    对图像边缘进行随机均匀采样的C#算法实现
    [淡藤]最近几年在Chinapub上买的书
    重新认识C#: 玩转指针
    又是一年春来到
    需求定律在起着作用
    haha, 愚人节听鱼人歌
    名字就叫奥格工作室!
    effective c++ 第六章
    com 名字对象(1)IBindCtx
    com 名字对象(2)创建名字对象(IMoniker)
  • 原文地址:https://www.cnblogs.com/chushujin/p/12851710.html
Copyright © 2011-2022 走看看