zoukankan      html  css  js  c++  java
  • Python 条件语句(if..elif..else)

    条件语句

    一、if条件判断

    1.if条件判断的基本形式

    Python中,if语句用于控制程序的执行,基本形式为:

    if 判断条件:      判断条件可为:逻辑、成员运算、比较运算

      (缩进) 执行语句........         (当判断的条件成立时,就会执行if内的语句)

    else:              (else后面没有表达式)

      (缩进)执行语句........            (当if条件不成立,则会执行else内的语句)

    • "判断条件"成立时(非零),则执行其后面的语句,执行内容可以是多行,可以缩进来区分表示同一个范围
    • else   为可选语句   在if判断条件不成立时,才会执行
    • 缩进    遇到冒号就要缩进,这是语法,一个标椎的缩进等于四个空格,但是四个空格不等于一个tab键。Python中可以使用tab键,进行缩进,但是这种操作是不规范的,一般用的是4个空格

    例子如下:(一个简单的 if....else  判断)

    比较运算符的使用:

    #根据输入的年龄来判断是否成年
    my_age=int(input('请输入你的年龄:'))   #input输入的数据类型为str
    
    if my_age>=18:
        print('你已经成年')
    else:
        print('你还未成年')
    
    输出结果:
    请输入你的年龄:14
    你还未成年

    成员运算符的使用:

    #成员运算符和逻辑运算符的结合使用
    my_str='苹果、橘子、香蕉、梨、葡萄'
    if ('苹果' and '葡萄') in my_str:
        print('苹果和葡萄是我最喜欢的水果之一')
    else:
        print('水果列表中没有我喜欢的水果')
    
    输出结果:
    苹果和葡萄是我最喜欢的水果之一

    逻辑运算符的使用

    #结合列表索引和比较运算符和逻辑运算符
    a=[2,3,5,6]
    if (a[0]>a[1]) and a[1]>a[2]:
        print('列表中的前三个数字排列顺序是由大到小排列')
    else:
        print('列表中的前三个数字排列顺序是由小到大排列')
    
    
    输出结果:
    列表中的前三个数字排列顺序是由小到大排列

    2. if....elif.....elif.....else....

    在一个if表达式中,即一个完整的 if.....elif....elif.....else....中,如果运行了其中一个条件,其他分支条件就不会再运行了

    总结:当其中一个条件满足,其他的条件分支自动屏蔽,不会再运行

    '''
    1、一家商场在降价促销,所有原价都是整数(不需要考虑浮点情况),如果购买金额50-100元(包含50元和100元)之间,会给10%的折扣,
    
    如果购买金额大于100元会给20%折扣。编写一程序,询问购买价格,再显示出折扣(%10或
    
    20%)和最终价格。
    
    '''
    #先询问购买的价格,再做接下来的判断
    price=int(input('请输入你的购买价格:'))
    
    if 50<=price<=100:
        #Discount享受的折扣价
        Discount = price * 0.1
        print('您将享受10%的折扣')
        print('您最终支付金额为:{}'.format(price - Discount))
    elif price>100:
        # Discount享受的折扣价
        Discount = price * 0.2
        print('您将享受20%的折扣')
        print('您最终支付金额为:{}'.format(price - Discount))
    else:
        print('您当前的不享受任何优惠')
    '''
    2 判断是否为闰年
    提示:
    
    输入一个有效的年份(如:2019),判断是否为闰年(不需要考虑非数字的情况)
    如果是闰年,则打印“2019年是闰年”;否则打印“2019年不是闰年”
    什么是闰年,请自行了解(需求文档没有解释)
    '''
    '''
    闰年分为:普通闰年和世纪闰年
    普通闰年:公历年份是4的倍数的,且不是100的倍数,为普通闰年。(如2004年就是闰年);
    世纪闰年:公历年份是整百数的,必须是400的倍数才是世纪闰年(如1900年不是世纪闰年,2000年是世纪闰年);
    '''
    year=int(input('请输入一个有效的年份(如:2020):'))
    
    '''
    普通闰年:年份是4的倍数,且不是100的倍数 
    世纪闰年:必须是400的倍数
    普通闰年的计算方法,能被4整除但不被100整除,year % 4==0 and year % 100!=0
    世纪闰年的计算方法,能被400整除,year % 400==0
    '''
    
    if year % 4==0 and year % 100!=0:
        print('{}年是普通闰年'.format(year))
    elif year % 400==0:
        print('{}年是世纪闰年'.format(year))
    else:
        print('{}年不是闰年'.format(year))

    3.if后面最关心的是什么?     判断条件语句是为真还是为假(也就是,是True还是False)

    形式:if a:(其中隐含有bool(a),是True还是False)

    • if not a: 用来判断某个变量是否为空,是否存在(实际使用过程中,使用的非常多的判断条件)
    • a是None、0、[]、{}、().......等都为False   也就等同于if  False:,也就是条件不成立,不会执行if条件下的语句,而是执行else下的语句
    • a是非空类型,也就是等同于 if  True:,也就是条件成立,直接执行if下的语句。(不会再去处理else下的语句)
    • 条件语句为True
      if True:
          print('我是对的')
      else:
          print('你是最厉害的')
      
      输出结果:
      我是对的
    • 条件语句为False
      if False:
          print('你是对的')
      else:
          print('我是最厉害的')
      
      输出结果:
      我是最厉害的

    4.else是可选择语句  在判断条件不成立时,执行相关语句

    else不是必备的,在条件判断中,加不加else,可以根据自己实际的业务逻辑进行使用。

    5.if的嵌套使用

    Python在运行一个文件时,会查看所有顶格写的代码。一个完整的if表达式只会看某一个满足条件的语句

    '''
    3.求三个整数中的最大值
    提示:定义 3 个变量
    '''
    #先自定义3个变量并赋值
    num1=6
    num2=10
    num3=20
    if num1>num2:
        if num1>num3:
            print('最大值为:{}'.format(num1))
    else:
        if num2>num3:
            print('最大值为:{}'.format(num2))
        else:
            print('最大值为:{}'.format(num3))
    
    输出结果:
    最大值为:20

    6.工作中使用最多的结构:if......if ......if .....else

    if 1:
        pass
    if 2:
        pass
    if 3:
        pass
    else:
        print('hello') #else是最后一个if成对的
  • 相关阅读:
    解决mysql因为服务名无效启动不了
    新手上路遇到的Whitelabel Error Page解决方案
    解决报错java.lang.UnsatisfiedLinkError: F:J2EEapache-tomcat-8.5.46in cnative-1.dll:Can't load AMD 64
    安装sqlserver导致80端口被占用解决方法
    【计算机网络】-传输层-Internet传输协议-UDP
    【计算机网络】-传输层-Internet传输协议-TCP
    【计算机网络】-传输层-拥塞控制
    文件系统-文件的物理结构与存储设备
    vant封装城市/联系人等选择器
    I5TING_TOC转成的HTML,怎样高亮代码
  • 原文地址:https://www.cnblogs.com/lucky1212/p/13669082.html
Copyright © 2011-2022 走看看