python入门007

一、深浅copy

浅拷贝:是把原列表第一层的内存地址完全拷贝一份给新列表。即只能保证对原列表中第一层地址(不可变类型)的改操作不受影响,涉及到原列表中第二层地址(可变类型)的改操作时,原列表变,新列表也跟着变-

深拷贝:将两个列表的改操作完全的独立开。即不管原列表对第几层地址的改操作,新列表都不受影响,保持最开始复制的列表元素不变。

二、循环之while循环

什么是循环结构:

循环结构就是重复执行某段代码块

为什么要用循环结构:

让计算机能够具备人重复执行某件事情的能力

如何使用循环结构

1.while循环语法

while 条件:
     代码1
     代码2
     代码3
'''
while的运行步骤:
步骤1:如果条件为真,则自上而下的执行代码1、2、3...
步骤2:执行完最后一条代码时再次判断条件,如果条件为Treu则重复步骤1,如果条件为False,则结束循环

'''

2.基本使用

count=0
while count < 5:
    print(count)
    count+=1 

print('顶级代码----->')

3.死循环与效率问题

count=0
while count < 5: # 5 < 5
    print(count) # 0,1,2,3,4

while True:
    name=input('your name >>>> ')
    print(name)

纯计算无io的死讯会导致致命的效率问题
while True:
    1+1

while 1:
    print('xxxx')

4.循环的应用

username = 'egon'
password = '123'

两个问题:
1、重复代码
2、输对了应该不用再重复
while True:
    inp_name=input('请输入您的账号:')
    inp_pwd=input('请输入您的密码:')

    if inp_name  == username and inp_pwd == password:
        print('登录成功')
    else:
        print('账号名或密码错误')

4、退出循环的两种方式

方式一:将条件改为False,等到下次循环判断条件时才会生效
tag=True
while tag:
    inp_name=input('请输入您的账号:')
    inp_pwd=input('请输入您的密码:')

    if inp_name  == username and inp_pwd == password:
        print('登录成功')
        tag = False # 之后的代码还会运行,下次循环判断条件时才生效
    else:
        print('账号名或密码错误')

    # print('====end====')

方式二:break,只要运行到break就会立刻终止本层循环
while True:
    inp_name=input('请输入您的账号:')
    inp_pwd=input('请输入您的密码:')

    if inp_name  == username and inp_pwd == password:
        print('登录成功')
        break # 立刻终止本层循环
    else:
        print('账号名或密码错误')

    # print('====end====')

7、while循环嵌套与结束

tag=True
while tag:
    while tag:
        while tag:
            tag=False

每一层都必须配一个break

while True:
    while True:
        while True:
            break
        break
    break

break的方式:

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('账号名或密码错误')

    print('====end====')

改变条件的方式:

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('账号名或密码错误')

8、while +continue:结束本次循环,直接进入下一次
强调:在continue之后添加同级代码毫无意义,因为永远无法运行

count=0
while count < 6:
    if count == 4:
        count+=1
        continue
        # count+=1 # 错误
    print(count)
    count+=1

猜你喜欢

转载自www.cnblogs.com/lqb666/p/12451701.html
007