第五章 Python 程序的流程控制使用 if 语句

第五章 Python 程序的流程控制使用 if 语句

5-1 关系运算符

  • python 语方所使用的关系运算表:如果是真传回 True,如果是伪传回 False
关系运算符说明实例说明
>大于单引号检查 a 是否大于 b
>=大于等于a >= b检查 a 是否大于等于 b
<小于a < b检查 a 是否小于 b
<=小于等于a <= b检查 a 是否小于等于 b
==等于a == b检查 a 是否等于b
!=不等于a != b检查 a 是否不等于 b
x = 10 > 8
print(x)
#输出结果
True

x = 10 >= 10
print(x)
#输出结果
True

x = 10 < 20
print(x)
#输出结果
True

x = 10 <= 10
print(x)
#输出结果
True

x = 10 == 10
print(x)
#输出结果
True

x = 10 != 20
print(x)
#输出结果
True

5-2 逻辑运算符

  • python 所使用的逻辑运算符

    • and:全部是 True 才等于 True ,只要有一个是 False 结果就是 False

      x = (10>8 ) and (20>10)
      print(x)
      #输出结果
      True
      
      x = (10>8) and (10>20)
      print(x)
      #输出结果
      False
      
      x = (10<8) and (10<20)
      print(x)
      #输出结果
      False
      
      x = (10<8) and (10>20)
      print(x)
      #输出结果
      False
      
      
    • or:只要一个是 True 结果就是 True

      x = (10>8) or (20>10)
      print(x)
      #输出结果
      True
      
      x = (10<8) or (10<20)
      print(x)
      #输出结果
      True
      
      x = (10<8) or (10>20)
      print(x)
      #输出结果
      False
      
    • not:True 的相反值 False,False 的相反值 True

      x = not(10<8)
      print(x)
      #输出结果
      True
      
      x = not(10>8)
      print(x)
      #输出结果
      False
      

5-3 if 语句

  • 这个 if 语句的基本语法如下:

    if ( 条件判断 ):

    程序代码区块

    上观念是如果条件判断是 True,则执行程序代码区块,如果条件判断是 False,则不执行程序代码区块。如果程序代码区块只有一道指令,可将上述语法写成下列格式

    if ( 条件判断 ): 程序代码区块

  • 可以用下列流程图说明这个 if 语句:

    注:程序代码区块的每个级别都必须缩进相同个空隔(一般是4个空隔,也可5、6、7…)

在这里插入图片描述

  • 例1:
age = 18
if (age < 20):
    print("你年龄太小")
    print("需20岁才可以购买烟酒")
#输出结果
你年龄太小
需20岁才可以购买烟酒
  • 例2:不正确的使用缩进
age = 18
if (age < 20):
    print("你年龄太小")
      print("需20岁才可以购买烟酒") #这里在同一个程序区块内多缩进了两个空隔
#输出结果
File "<ipython-input-20-91370c34eb74>", line 4
    print("需20岁才可以购买烟酒")
    ^
IndentationError: unexpected indent

5-4 if … else 语句

  • 程序设计时更常用的功能是条件判断为 True 时执行某一个程序代码区块,当条件判断为 Fasle 时执行另一段程序代码区块,此时可以使用 if … else 语句,它的语法格式如下:

    if ( 条件判断 ): #小括号可以省略

    程序代码区块一

    else:

    程序代码区块二

  • 上述观念是如果条件判断是 True,则执行程序代码区块一,如果条件判断是 False,则执行程序代码区块二。可以用下列流程图说明这个 if … else 语句。

在这里插入图片描述

age = input("请输入年龄:")
if(int(age) < 20 ):
    print("你的年龄太小")
    print("需满20岁才可以购买烟酒")
else:
    print("欢迎购买烟酒")
#输出结果1
请输入年龄:18
你的年龄太小
需满20岁才可以购买烟酒

#输出结果2
请输入年龄:20
欢迎购买烟酒

5-5 if … elif … else 语句

  • 这是一个多重判断,程序设计时需要多个条件作比较时就比较有用,例如:在美国成绩计分是采取A、B、C、D、F 等,通常 90-100 分是A,80-99 分是B,70-79 分是C,60-69 分是D,低于 60 分是 F 。若是使用 python 可以用这个语句,很容易就完成这个工作。这个语句的基本语法如下:

    if ( 条件判断一 ):

    程序代码区块一

    elif:( 条件判断二 ):

    程序代码区块二

    else:

    程序代码区块 n

  • 上述观念是,如果条件判断一是 Treu 则执行程序代码区块一,然后离开条件判断。否则检查条件判断二,如果是 True 则执行程序代码区块二,然后离开条件判断。如果条件判断是 False 则持续进行检查,上述 elif 的条件判断可以不断扩充,如果所有条件判断是 False 则执行程序代码区块 n。下列流程图是假设只有2个条件判断说明这个 if … elif … else 语句。

在这里插入图片描述

5-6 嵌套的 if 语句

  • 所谓的嵌套的 if 语句是指在 if 语句内有其他的 if 语句

  • 其实 python 允许加上许多层,不过层次一多,未来程序维护会变得比较困难。

  • 实例:测试某一年是否润年,润年的条件是首先可以被4整险(相当于没有余数),这个条件成立时,还必须符合它除以100时余数不为 0 或是除以 400 时余数为 0,当2个条件皆符合才算润年。

    print("判断输入年份是否润年")
    year = input("输输入年份:")
    rem4 = int(year) % 4
    rem100 = int(year) % 100
    rem400 = int(year) % 400
    if rem4 == 0:
        if rem100 != 0 or rem400 == 0:
            print("%s 是润年" % year)
        else:
            print("%s 不是润年" % year)
    else:
        print("%s 不是润年" % year)
        
    #输出结果1
    判断输入年份是否润年
    输输入年份:2019
    2019 不是润年
    
    #输出结果2
    判断输入年份是否润年
    输输入年份:2020
    2020 是润年
    

5-7 尚未设定的变量值 None

  • 有人在程序设计时,喜欢将所有变量一次先予以定义,在尚未用到此变量时先设定这个变量的值 是 None,如果此时用 type() 函数了解它的类别时将显示 “NoneType”,如下所示:

    x = None
    print(x)
    print(type(x))
    #输出结果
    None
    <class 'NoneType'>
    
    #通常在程序设计时,可使用下列方式自我测试
    flag = None
    if flag == None:
        print("尚未定义 flag")
    #输出结果
    尚未定义 flag
    

这个变量的值 是 None,如果此时用 type() 函数了解它的类别时将显示 “NoneType”,如下所示:

x = None
print(x)
print(type(x))
#输出结果
None
<class 'NoneType'>

#通常在程序设计时,可使用下列方式自我测试
flag = None
if flag == None:
    print("尚未定义 flag")
#输出结果
尚未定义 flag
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值