来源:python中国网 时间:2019-06-04

假设网站现在有100个充值用户,现在要给充值1000元以上的大客户返现,那么就需要在程序里进行判断。这就用到了条件判断语句。

  一、if语句

      1.if语句长相:

      if条件表达式:

          满足条件时要做的事情1

          满足条件时要做的事情2

          满足条件时要做的事情3

      ...(省略)...

      2.if语句结构

      以关键字if开始,后面紧接条件表达式,然后用英文冒号结束,假如表达式的值为真,那么就会执行if语句块里面的语句。

          1)表达式:能够计算出一个值的式子,if语句中的表达式为真一般就是指通过bool计算 (bool是个函数,比如bool(0)就是假)后结果为True的就是真否则为假(False)。

          2)语句块:python代码块,就是你要做的事,可以是一行或多行代码
 

# ‐*‐ coding: utf‐8 ‐*‐

chePiao = 1     # 用1代表有车票,0代表没有车票
daoLenght = 9     # 刀子的长度,单位为cm

if chePiao == 1:
    print("有车票,可以进站")
    if daoLenght < 10:
        print("通过安检")
        print("终于可以见到Ta了,美滋滋~~~")
    else:
        print("没有通过安检")
        print("刀子的长度超过规定,等待警察处理...")
else:
    print("没有车票,不能进站")
    print("亲爱的,那就下次见了,一票难求啊~~~~(>_<)~~~~")
D:installpython3python.exe D:/pyscript/python3_script/test66.py
有车票,可以进站
通过安检
终于可以见到Ta了,美滋滋~~~

Process finished with exit code 0


      3.python如何计算真假?-

          1)数据类型的真假

          对于整数,只有0为假,所有非零整数都是真

          对于浮点数,只有0.0为假,所有非零浮点数都是真

          对于字符串,只有空字符串为假,所有非空字符串都为真

          对于列表,只有空列表为假,所有非空列表都为真

          对于元组,只有空元素为假,所有非空元组都为真

          对于字典和集合也是一样的

          None和False为假,True为真

      2)使用比较运算符计算真假

          比较运算符主要是用来比较两个变量之间的关系

          >、>=、<、<=、==、!=

      3)使用逻辑运算符(python中用了and、or、not)比较真假

          and(表示与),只有两边都为真才为真

          or(表示或),只要其中一个为真就是真,只有两个都为假的时候才是假

          not(表示非),真为假,假为真

  二、else语句

  if条件:

      满足条件时要做的事情1

      满足条件时要做的事情2

      满足条件时要做的事情3

      ...(省略)...

  else:

      不满足条件时要做的事情1

      不满足条件时要做的事情2

      不满足条件时要做的事情3

      ...(省略)...

   当if条件为假的时候就执行else中的语句,else一定要跟if是对齐的,否则就报缩进错误。

# ‐*‐ coding: utf‐8 ‐*‐

score=88
if score > 90:
    print('本次考试,牛逼')
else:
    print('垃圾')
D:installpython3python.exe D:/pyscript/python3_script/test66.py
垃圾

Process finished with exit code 0


  三、elif语句

  if xxx1:

      事情1

  elif xxx2:

      事情2

  elif xxx3:

      事情3
 

  说明:
 

  当xxx1满足时,执行事情1,然后整个if结束

  当xxx1不满足时,那么判断xxx2,如果xxx2满足,则执行事情2,然后整个if结束

  当xxx1不满足时,xxx2也不满足,如果xxx3满足,则执行事情3,然后整个if结束
 

# ‐*‐ coding: utf‐8 ‐*‐

score=88
if score > 90:
    print('本次考试,牛逼')
elif score >80:
    print('本次考试A')
elif score >70:
    print('本次考试B')
D:installpython3python.exe D:/pyscript/python3_script/test66.py
本次考试A

Process finished with exit code 0


  四:if elif else语句

  if xxx1:

      事情1

  elif xxx2:

      事情2

  elif xxx3:

      事情3

  else:

      滚犊子

 

  假如都不满足的时候,才会执行最后的else语句

  注意:elif必须和if一起使用,否则出错;else永远放在最后
 

# ‐*‐ coding: utf‐8 ‐*‐

score=30
if score > 90:
    print('本次考试,牛逼')
elif score >80:
    print('本次考试A')
elif score >70:
    print('本次考试B')
else:
    print('交钱退学')
D:installpython3python.exe D:/pyscript/python3_script/test66.py
交钱退学

Process finished with exit code 0



  五、条件语句嵌套问题
 

  if语句是可以嵌套的,每层嵌套都是通过缩进来进行区分的,因此一定要保证缩进的统一,否则就会乱掉了。

  if条件1:

      满足条件1做的事情1

      满足条件1做的事情2

      ...(省略)...

       if条件2:

            满足条件2做的事情1

            满足条件2做的事情2

            ...(省略)...
 

# ‐*‐ coding: utf‐8 ‐*‐
num = int(input("输入一个数字:"))
if num % 2 == 0:
    if num % 3 == 0:
        print("你输入的数字可以整除 2 和 3")
    else:
        print("你输入的数字可以整除 2,但不能整除 3")
else:
    if num % 3 == 0:
        print("你输入的数字可以整除 3,但不能整除 2")
    else:
        print("你输入的数字不能整除 2 和 3")


  1)外层的if判断,也可以是if-else

  2)内层的if判断,也可以是if-else

  3)理论上是支持无限嵌套的,但是嵌套太多会影响代码的可读性以及运行效率,实际开发中并不建议使用过多的嵌套,一般最多3层就够了。

  if语句执行是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elif和else.

  所以,请测试并解释为什么下面的程序打印的是teenager

# ‐*‐ coding: utf‐8 ‐*‐
age = 20
if age >= 6:
    print('teenager')
elif age >= 18:
    print('adult')
else:
    print('kid')