• day06循环


    一丶深浅拷贝

      浅copy:是把原列表第一层的内存地址不加区分完全copy一份给新列表

      深copy:把原有列表分成多层,区分可变类型和不可变类型进行copy

      只要记住一点:想让两个列表完全独立开,并且针对的是改操作的独立而不是读操作时用深copy

    二丶循环

      什么是循环:重复做某件事

      为什么要有循环:为了让计算机重复做某件事

      如何使用循环:
        while循环的基本语法与基本使用
        while 条件:
          代码1
          代码2
          代码3
          ......
        # while的运行步骤:
        # 步骤1:如果条件为真,那么依次执行:代码1、代码2、代码3、......
        # 步骤2:执行完毕后再次判断条件,如果条件为True则再次执行:代码1、代码2、代码3、......,如果条件为False,则循环终止

        死循环与效率问题
          死循环:条件为真,永远不会结束的循环
          纯计算无io的死循环会导致致命的效率问题

        结束循环的方式
          方式1:将条件改为False,等到下次循环判断条件时才会生效

    username = 'aaa'
    password = '123'
    tag = True
    while tag:
        inp_name = input('请输入您的账号:')
        inp_pwd = input('请输入您的密码:')
    
        if inp_name == username and inp_pwd == password:
            print('登入成功')
            tag = False #之后的代码还会运行,下次循环条件时才会生效
        else:
            print('登入失败')
    
    #循环嵌套和tag
    username = 'aaa'
    password = '123'
    while True:
        inp_name = input('请输入您的账号:')
        inp_pwd = input('请输入您的密码:')
    
        if inp_name == username and inp_pwd == password:
            print('登入成功')
            while True:
                cmd = input('输入命令:')
                if cmd == 'q':
                    break
                print('命令{x}正在运行'.format(x=cmd))
            break
        else:
            print('登入失败')
    View Code

          方式2:break,只要运行到break就会立即终止本层循环

    username = 'aaa'
    password = '123'
    while True:
        inp_name = input('请输入您的账号:')
        inp_pwd = input('请输入您的密码:')
    
        if inp_name == username and inp_pwd == password:
            print('登入成功')
            break #立即终止本层循环
        else:
            print('登入失败')
    
    #循环嵌套和break
    username = 'aaa'
    password = '123'
    tag = True
    while tag:
        inp_name = input('请输入您的账号:')
        inp_pwd = input('请输入您的密码:')
    
        if inp_name == username and inp_pwd == password:
            print('登入成功')
            while tag:
                cmd = input('输入命令:')
                if cmd == 'q':
                    tag = False
                else:
                    print('命令{x}正在运行'.format(x=cmd))
        else:
            print('登入失败')
    View Code

          方式3:continue,结束本次循环,直接进入下一次

    count = 0
    while count < 6:
        if count ==4:
            count+=1
            continue
        print(count)
        count+=1
    View Code

          方式4:else,当while循环正常执行完并且中间没有被break 中止的话,就会执行else后面的语句,所以我们可以用else来验证,循环是否正常结束

    username = 'aaa'
    password = '123'
    count = 0
    while count<3:
        inp_name = input('请输入您的账号:')
        inp_pwd = input('请输入您的密码:')
    
        if inp_name == username and inp_pwd == password:
            print('登入成功')
            while tag:
                cmd = input('输入命令:')
                if cmd == 'q':
                    break
                else:
                    print('命令{x}正在运行'.format(x=cmd))
            break
        else:
            print('账号密码错误')
            count+=1
    else:
        print('输错3次,结束循环')
    View Code

    作业

    #1. 使用while循环输出1 2 3 4 5 6     8 9 10
    count = 1
    while count <= 10:
        if count == 7:
            count+=1
            continue
        else:
            print(count)
            count+=1
    #2. 求1-100的所有数的和
    count = 1
    sum = 0
    while count <= 100:
        sum+=count
        count+=1
    print(sum)
    #3. 输出 1-100 内的所有奇数
    count = 1
    while count <= 100:
        if count % 2 == 0:
            count+=1
        else:
            print(count)
            count+=1
    #4. 输出 1-100 内的所有偶数
    count = 1
    while count <= 100:
        if count % 2 == 0:
            print(count)
            count+=1
        else:
            count+=1
    #5. 求1-2+3-4+5 ... 99的所有数的和
    count = 1
    sum = 0
    while count <= 99:
        if count % 2 == 1:
            sum = sum + count
        else:
            sum = sum - count
        count+=1
    print(sum)
    #6. 用户登陆(三次机会重试)
    username = 'aaa'
    password = '123'
    count = 0
    while count<3:
        inp_name = input('请输入您的账号:')
        inp_pwd = input('请输入您的密码:')
        if inp_name == username and inp_pwd == password:
            print('登入成功')
            break
        else:
            print('账号密码错误')
            count+=1
    else:
        print('输错3次,结束循环')
    #7:猜年龄游戏
        # 要求:
        # 允许用户最多尝试3次,3次都没猜对的话,就直接退出,如果猜对了,打印恭喜信息并退出
    
    age = 18
    count = 0 while count<3: inp_age = int(input('请输入年龄:')) if inp_age == age: print('恭喜猜对') break else: print('猜错了') count+=1 else: print('输错3次,结束游戏')
    #8:猜年龄游戏升级版(选做题)
    # 要求:
    #     允许用户最多尝试3次
    #     每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y, 就继续让其猜3次,以此往复,如果回答N或n,就退出程序
    #     如何猜对了,就直接退出
    age = 18
    count = 0
    while count<3:
        inp_age = int(input('请输入年龄:'))
        if inp_age == age:
            print('恭喜猜对')
            break
        else:
            print('猜错了')
            count+=1
        if count == 3:
            tag = input('是否还想玩y/n:')
            if tag == 'y':
                count = 0
            else:
                print('游戏结束')
                break
    
    
  • 相关阅读:
    Linux系统管理上机作业2
    Linux系统管理上机作业1
    作业
    作业
    作业2
    作业
    作业
    第三章
    第二章
    第一章:计算机网络参考模型
  • 原文地址:https://www.cnblogs.com/bk134/p/12448799.html
Copyright © 2020-2023  润新知