zoukankan      html  css  js  c++  java
  • 运算符,流程控制之if判断

    今日内容

    一.运算符

    1.赋值运算符

    1.1 增量赋值

    age = 18
    age = age + 1 # 等同于 age += 1
    age *= 1       age %=1 #  等同于  age = age % 3
    

    1.2 链式赋值

    x = 10
    y = 10
    z = 10
    x=y=z=10
    print(id(x),id(y),id(z))   id值一样
    

    1.3 交叉赋值

    m = 10
    n = 20
    如要换值
    m,n = n,m
    

    1.4 解压赋值

    salaries=[11.22.33]
    mon1=salaries[0]
    mon2=salaries[1]
    mon3=salaries[2]
    # 值多一个不行,少一个也不行
    mon1,*_=salaries
    用_表示不需要的变量值的变量名 用 * 表示剩下所有
    如:我们只需要将列表中的傻逼解压出来,一次性赋值给对应的变量名即可
    names=['alex_sb','wusir_sb','oldboy_sb','egon_nb','lxx_nb','tank_nb']
    bb1,bb2,bb3,*_ = names
    print(bb1,bb2,bb3)
    

    p s:字符串、字典、元组、集合类型都支持解压赋值

    1.5 逻辑运算符

    逻辑运算符用于连接多个条件,进行关联判断,会返回布尔值True或False

    #and 逻辑与,用于连接两个条件,两个条件同时成立时才返回true,但凡有一个条件为false,则返回false
    例:3>1 and 4==4 true
    #or 逻辑或,用于连接两个条件,两个条件但凡有一个成立就返回true,只有在两个条件同时为false时才返回false
    例:1>2 or 3>1   true
    #not 取反  
    例: not 1>2    true
    

    1.5.1 连续多个and

    可以用and连接多个条件,会按照从左到右的顺序依次判断,一旦某一个条件为False,则无需再往右判断,可以立即判定最终结果就为False,只有在所有条件的结果都为True的情况下,最终结果才为True。

    例:2>1 and 1!=1 and true and 3>2  #false
    

    1.5.2 连续多个or

    可以用or连接多个条件,会按照从左到右的顺序依次判断,一旦某一个条件为True,则无需再往右判断,可以立即判定最终结果就为True,只有在所有条件的结果都为False的情况下,最终结果才为False

    例:2>1 or 1!=1 or true or 3>2    #true
    

    1.5.3 优先级not>and>or

    三者的优先级关系:not>and>or,同一优先级默认从左往右计算。
    例:3>4 and 4>3 or 1==3 and 'x' == 'x' or 3 >3
    # False
    
    原理为:
    (1) not的优先级最高,就是把紧跟其后的那个条件结果取反,所以not与紧跟其后的条件不可分割
    (2) 如果语句中全部是用and连接,或者全部用or连接,那么按照从左到右的顺序依次计算即可
    (3) 如果语句中既有and也有or,那么先用括号把and的左右两个条件给括起来,然后再进行运算
     (3>4 and 4>3) or (1==3 and 'x' == 'x') or 3 >3    #false
    

    补充:短路运算--逻辑运算的结果一旦可以确定,那么就以当前处计算到的值作为最终结果返回

    二、流程控制之if判断

    1..流程控制即控制流程,具体指控制程序的执行流程,而程序的执行流程分为三种结构:

    1.1顺序结构(同一级别,python中,用相同的空格数代表代码的同一级别)

    1.2分支结构(if判断,主流水线到子流水线,再回到主流水线)分支结构就是根据条件判断的真假去执行不同分支对应的子代码

    例:用户输入账号密码,程序分别单独判断账号与密码是否正确,正确输出True,错误输出False即可
    答:
    print("user")
    inp_name = "dandan"
    inp_pwd = "666"
    enter_name ="dandan"
    enter_pwd = "666"
    if inp_name == enter_name and inp_pwd == enter_pwd:
        print("true")
    else:
        print("false")
    
    user
    true
    
    例:让计算机提前记下egon的年龄为18岁,写一个才年龄的程序,要求用户输入所猜的年龄
    ,然后程序拿到用户输入的年龄与egon的年龄比较,输出比较结果即可
    答:
    egon = 18
    age = int(input("猜猜我的年龄: "))
    if age>egon:
        print("你是凭实力单身的")
    elif age<egon:
        print("你眼光真好")
    else:
        print("你这双眼看透了一切")
    
    

    1.3循环结构(用到while与for)

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

    用if关键字来实现分支结构

    三、程序与用户交互
    1.概念:用户交互就是人往计算机中input/输入数据,计算机print/输出结果
    2.目的:为了让计算机能够像人一样与用户沟通交流
    3.本质:交互的本质就是输入、输出
    4.输出之格式化输出
    4.1什么是格式化输出?
    把一段字符串里面的某些内容替换掉之后再输出,就是格式化输出
    4.2我们经常会输出具有某种固定格式的内容,比如:'亲爱的xxx你好!你xxx月的话费是xxx,余额是xxx‘,我们需要做的就是将xxx替换为具体的内容。
    4.3如何格式化输出?用占位符,如:%s、%d:
    %s占位符:可以接收任意类型的值
    %d占位符:只能接收数字

  • 相关阅读:
    一则自用iptables例子解释
    SVN配置钩子文件限制提交文件时必须填写更新日志
    Nginx反向代理配置配置实例
    mysql 物理数据存放
    VisualVM、JConsole
    Rabbitmq
    pdm画表间结构
    tomcat jvm 参数优化
    【转载】Java导入导出excel
    【转载】使用 Google Guava 美化你的 Java 代码
  • 原文地址:https://www.cnblogs.com/caodan01/p/14156546.html
Copyright © 2011-2022 走看看