• 流程控制之if判断, while,for循环


    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中的代码
    
    
  • 相关阅读:
    NoSuchMethodError: Closure call with mismatched arguments:
    pod reopened update慢
    Flutter ListView 不满屏 无法滚动
    三分钟告诉你MBR和GPT的区别,选择适合自己的
    centos8 安装VMware,之后不能启动问题处理
    Docker学习之路
    JavaScript 编程语言
    工具
    Java开发
    Oracle的学习
  • 原文地址:https://www.cnblogs.com/WQ577098649/p/11508373.html
Copyright © 2020-2023  润新知