Python_note_005(Python中的循环结构,内置函数range()、while循环语句、for循环语句、嵌套循环、打印99乘法表)

内置函数range()

  • 用于生成一个整数序列

  • 三种创建方式

    # range()的三种创建方式
    r1=range(2,10,2)#起始值,终止值,步长
    r2=range(5,20)#起始值,终止值
    r3=range(5)#起始值
    print('三种创建方式结果:+++'+'\n',list(r1),'\n',list(r2),'\n',list(r3))
    print(8 in r1)
    
  • 返回值是一个迭代器对象

  • range类型的特点

    不管range对象表示的整数序列有多长,所有range对象占用的内存空间都是相同的,因为仅仅需要存储start,stop和step,只有当用到range对象时,才会计算序列中的相关元素

  • in和not in可以判断整数序列中是否存在或不存在指定的整数


循环结构分类为(while,for in)

  • while循环

    # 循环结构
    '''
    4步循环法
    1.初始化变量
    2.条件判断
    3.条件执行体
    4.改变变量
    总结:初始化的变量与条件判断的变量与改变的变量为同一个
    '''
    n=1
    sum=0
    while n<=10:
        sum+=n
        n+=1
    print(sum)
    
    # 练习题 计算1到1w00之间的偶数
    a=1
    sum2=0
    while a<=100:
        if not bool(a%2):#a%2==0
            sum2 += a
        a+=1
    print(sum2)
    
  • for in循环

    # for in 循环
    for i in '12345678':
        print(i)
    for i2 in range(2,10,2):
        print(i2)
    for _ in range(5):
        print('我要学python')
    
    print('for循环计算1到100的偶数和')
    sum_for=0
    for item in range(0,101,2):
        sum_for+=item
    print(sum_for)
    
    # 练习题,,计算100到999之间的水仙花数
    for item in range(100,1000):
        g=item%10
        s=item//10%10
        b=item//100
        if g**3+s**3+b**3==item:
            print(item)
    

流程控制语句

  • break语句(跳出循环)

    # 从键盘录入密码,最多录入3次,如果正确就结束循环
    print('for循环方式++++++++++++++++++++')
    a=0;#记录输入密码的次数
    for item in range(3):
        i=input('请输入密码')
        a+=1
        if i=='888888':
            print('密码正确')
            break
        else:
            if a==3:
                print('以输错超过三次,账号已锁定')
            else:
                print('密码错误')
    
    print('while循环方式+++++++++++++++++++')
    w=0
    while w<3:
        i2=input('请输入密码')
        if i2 =='888888':
            print('密码正确')
            break
        else:
            if a == 3:
                print('以输错超过三次,账号已锁定')
            else:
                print('密码错误')
        w+=1
    
  • continue语句(跳出当前,从头执行)

    # 要求输出1到50之间所有5的倍数,5,10,15等
    for item in range(1,51):
        if item % 5 ==0:
            print(item)
    print('continue语法实现方式++++++++++')
    for item in range(1,51):
        if item %5!=0:
            continue
        print(item)
    

else语句

  • while 或者 for和else一起用时,如果没有break时就执行else中的语句

    print('for  else循环方式++++++++++++++++++++')
    for item in range(3):
        i=input('请输入密码')
        if i=='888888':
            print('密码正确')
            break
        else:
            print('密码错误')
    else:
        print('以输错超过三次,账号已锁定')
    
    print('while else循环方式+++++++++++++++++++')
    w=0
    while w<3:
        i2=input('请输入密码')
        if i2 =='888888':
            print('密码正确')
            break
        else:
            print('密码错误')
        w+=1
    else:
        print('以输错超过三次,账号已锁定')
    

嵌套循环

  • 在循环里还有个循环

    #输出99乘法表+++++++++++++
    for i in range(1,10):
        for j in range(1,i+1):
            #print(str(j)+'*'+str(i)+'='+str(i*j),end='\t')
            print(j,'*',i,'=',j*i, end='\t')
        print()
    

二重循环中的break和continue

  • 用于控制本层的循环

    # 二重循环中的break和continue的使用
    for i in range(1,6):
        for j in range(1,20):
            if j%2==0:
                #break
                continue
            print(j,end='\t')
        print()
    
posted @ 2020-09-08 19:48  SkillingYu  阅读(150)  评论(0编辑  收藏  举报