day05循环总结

1.基本运算符

python运算符 注意:
1.算数运算符 + , - , *, / 除 , % 取余 , //地板除(取商) , ** 幂运算 用义:返回一个数值。
2.位运算符 优先级 (< <或> > ) > & > ^ > \
3.比较运算符 == 比较两个值是否相等 != 比较两个值是否不同 只会产生2个结果,要么是True 要么是False #用义:始终返回一个布尔值。
4.身份运算符 is 和 is not 用来判断两个数据的内存地址是否相同 #:每一个变量值都有内存地址
5.成员运算符 in 或 not in 判断某个值是否包含在(或不在)一个容器类型数据当中, 在 字典 当中判断的是键。 nick:判断元素是否在容器类元素里面(字符串)
6.逻辑运算符 优先级 () > not > and > or #: 把多个条件同时叠加
7.赋值运算符 a += 1 => a = a+1
优先级 算数运算符 > 位运算符 > 比较运算符 > 身份运算符 > 成员运算符 > 逻辑运算符 > 赋值运算符

注:优先级最高的 ** 幂运算
优先级最低的 = 赋值运算
() 括号可以提升运算的优先级

身份运算符:

#每一个变量值都有内存地址。
x= 257
y = x
z= 257

print(id(x) == (id(y)))
print(x is y) # is比较的是内存地址
print(x is not y)  # is not判断是否不等于
print(not x is y)
print(id(x) == id(z))
print(x is z)

2.流程控制

流程控制:--->控制变量的一个方向。

(1) if 判断

if 判断 if(如果) -->判断。

(1)单项分支结构

if 条件:
    代码1
    代码2
    代码3
    ...
# 代码块(同一缩进级别的代码,例如代码1、代码2和代码3是相同缩进的代码,这三个代码组合在一起就是一个代码块,相同缩进的代码会自上而下的运行)
列1:# 单分支结构
# name = 'Owen'
# inp = input('name: ')
# if name == inp:
#     print('撸起袖子加油干')
# print(1)

if 条件: (:表示你接下来的代码需要缩进) # 条件为True运行缩进内代码;不成立不运行缩进内代码
    print('撸起袖子加油干')
    code1
    code2
    code3
    code3
    代码块
(2)双项分支结构 : if else 判断
if 条件:
    code1 条件成立执行code1
else:
    code2 条件不成立执行code2
    """
    if...else表示if成立代码成立会干什么,else不成立会干什么。
    """ 
'''
# name = 'bzr'
# s = input('name: ')
# if s == name:
#     print('猥琐的班主任')
# else:
#     print('英俊的nick老师')
(3)多项分支结构: if elif else的判定。
# 多分支结构 
'''
if 条件1:
    code1 条件1成立执行code1
elif 条件2:
    code2 条件1不成立条件2成立执行code2
elif 条件3:
    code3 条件1和2不成立,条件3成立执行code3
elif可以有无限个。。。
    coden
else:
    code4 所有条件都不成立,执行code4
'''
# : if...elif...else表示if条件1成立干什么,elif条件2成立干什么,elif条件3成立干什么,elif...否则干什么。

'''
height  > 130 全票
heigh > 70 and height < 130 半票
height < 70 免票
'''

height = int(input('请输入你的身高:'))

if height > 130:
    print('全票')
elif height > 70:
    print('半票')
else:
    print('免票')


变量/if判断/for循环

if if if 和 if elif else的区别:if :条件为True运行缩进内代码;不成立不运行缩进内代码
if elif else:条件不成立继续往下执行,这样的值有无数个,最后条件始终不成列时,结束命令时,执行else下的条件。

3.流程控制whlie循环的使用

流程控制:控制变量往一个方向变化

循环:重复干一件事。

3.1语法:

循环就是一个重复的过程,我们人需要重复干一个活,那么计算机也需要重复干一个活。如果验证失败,那么计算机会让我们再一次输入密码。这个时候就得说出我们的wile循环,while循环又称为条件循环。

while 条件
    code 1
    code 2
    code 3
    ...

while True:
    print('*1'*100)
    print('*2'*100)
列题:# 实现ATM的输入密码重新输入的功能
while True:
    user_str = 'Owen'
    pwd_str = '123'

    inp_user = input('请输入用户名: ')
    inp_pwd = input('请输入密码: ')
    if inp_user == user_str and pwd_str == inp_pwd:
        print('登陆成功')
    else:
        print('登陆失败')
3.2 while + break的使用

break的意思是终止掉当前层的循环,执行其他代码。

while True:
    print('1')  # 1
    print('2')  #
    break
    print('3')  #不打印

上述代码的break毫无意义,循环的目的是为了让计算机和人一样工作,循环处理事情,而他直接打印1和2之后就退出循环了。而我们展示下有意义的while+break代码的组合。

while True:
    user_str = 'Owen'
    pwd_str = '123'

    inp_user = input('请输入用户名: ')
    inp_pwd = input('请输入密码: ')
    if inp_user == user_str and pwd_str == inp_pwd:
        print('登录成功')
        break
    else:
        print('登陆失败')
print('退出了while循环')

#请输入用户名: Owen
#请输入密码: 123
#登陆成功
#退出了while循环

3.3 while + continue的使用:

continue的意思是终止本次循环,直接进入下一次循环

n = 1
while n < 4:
    print(n)
    n += 1    #1,2,3
n = 1
while n < 10:
    if n == 8:
        n += 1  # 如果注释这一行,则会进入死循环
        continue
    print(n)
    n += 1    #1,2,3,4,5,6,7,9

continue不能加在循环体的最后一步执行的代码,因为代码加上去毫无意义,如下所示的continue所在的位置就是毫无意义的。ps:注意是最后一步执行的代码,而不是最后一行。

while True:
    if 条件1:
        code1
        code2
        code3
        ...
    else:
        code1
        code2
        code3
        ...

    continue

3.4 while循环的嵌套使用。

ATM(制动取存款机)密码输入成功还需要进行一系列的命令操作,比如取款,比如转账。并且在执行功能结束后会退出命令操作的功能,即在功能出执行输 L 会退出输出功能的while循环并且退出ATM程序。

# 退出内层循环的while循环嵌套
while True:
    user_str = 'Owen'
    pwd_str = '123'

    inp_user = input('请输入用户名: ')
    inp_pwd = input('请输入密码: ')

    if inp_user == user_str and pwd_str == inp_pwd:
        print('登陆成功')

        while True:
            cmd = input('请输入你需要的命令:')
            if cmd == 'L':
                break
            print(f'{cmd} 功能执行')
    else:
        print('用户名 or 密码 error')

print('退出了while循环')
# 退出双层循环的while循环嵌套
while True:
    user_str = 'Owen'
    pwd_str = '123'

    inp_user = input('请输入用户名: ')
    inp_pwd = input('请输入密码: ')

    if inp_user == user_str and pwd_str == inp_pwd:
        print('登陆成功')

        while True:
            cmd = input('请输入你需要的命令:')
            if cmd == ' L':
                break
            print(f'{cmd} 功能执行')
        break
    else:
        print('用户名 or 密码 error')
        
# 打印结果:
print('退出了while循环')
username: Owen
password: 123
登陆成功
请输入你需要的命令:L
退出了while循环

3.5 while + else的使用。

while+else:else会在while没有被break时才会执行else中的代码。

# while+else
n = 1
while n < 3:
    print(n)
    n += 1
else:
    print('else会在while没有被break时才会执行else中的代码')
1
2
else会在while没有被break时才会执行else中的代码

猜你喜欢

转载自www.cnblogs.com/WQ577098649/p/11508373.html