在学if之前,我们只是表示数据,有了if之后,程序可以进行逻辑运算,这个时候代码才会产生智能

有了if之后,程序就会出现分支,从而形成运算过程

程序=数据+运算分支

首先来看下if的用法有哪些?

一 if 用法

1 if...:

if 条件:

    满足条件后,会执行的代码

注意: if条件后加冒号

python中,遇到冒号,下面代码行进行缩进(4个空格),表示某个代码块

比如现在有这样的一个需求,用户输入成绩,请判断是否及格?使用if语句实现

# 用户输入成绩,请判断是否及格?
score=100
if score >=60:
    print("及格")

运行结果:


 2 if...: else:

if else搭配使用,可以说是新手标配了,建议初学者在使用时,把else也加上,即使我们不知道如果不符合if条件应该输出什么,可以使用else:pass,什么也不输出

比如用户输入一个成绩,如果及格,则输出及格,没有其他需求时:

# 用户输入成绩,请判断是否及格?
score=59
if score >=60:
    print("及格")
else:
    pass

运行结果:


当有其他需求时,比如如果不及格,则一顿毒打

# 用户输入成绩,请判断是否及格?
score=59
if score >=60:
    print("及格")
else:
    print("一顿毒打")

运行结果:


else 不需要加任何的条件,表示如果if中的条件不满足,都执行else当中的代码

else一定要加吗?不一定,当没有告诉你else需要做什么时,可以省略else,表示什么都不做

初学阶段,为了减少bug,建议 if else一起使用,不知道干什么时,可以使用pass,写多了 else里面经常是pass

3 if...: elif...: else:

标准的if表达式,python会从第一个条件进行判断,直到满足条件的那个分支符合要求,就会走下面的子代码块, 在一个if表达式当中,不会执行一个以上的分支

score=88
if score ==100:
    print("得到一个奖励")
elif 70<=score <=100:
    print("真棒")
elif 60<=score<70:
    print("及格")
else:
    print("挨揍")

运行结果:


学习了if的用法之后,那我们会对if条件里面的条件有所疑惑了,到底什么样的条件才能符合if用法呢?才能用做if的条件呢?接下来我们来看下条件判断。

二 条件判断

1 返回True/False

条件满足返回True或者False的,都可以作为条件,得到True ,就表示该if分支满足 ,如果得到的是False,则不满足

  • 比较运算 :== , != , = , >= , <=
  • 成员运算 :in ,not in
  • 逻辑运算:and or not

2 if a/if not a

a="胖困困" 根本得到的不是一个True/False

a变量是否为空,字符串,列表,字典是否为空,如果为空,就是False,如果不为空,就是True

bool("") bool([]),bool({}),都是False

name="胖困困"
if name:
    print("姓名:胖困困")

运行结果:


 如果要判断一个数字是否等于0,使用==符号进行判断

# 如果要判断一个数字是否等于0,使用==符号进行判断
a=0
if a==0:
    print("为0")

运行结果:


 空列表判断:

  • a==[]
  • if not a:  最常用
  • len(a)
a=[]
if a==[]:
    print("空列表")
if not a:
    print("可以表示空列表")
if len(a)==0:
    print("空")

运行结果:


如何判断空列表,空字典,空字符串,空元组?

# 判断空列表
list=[]
if not list:
    print("这是空列表")
# 判读不为空
if list:
    print("列表不空")
# 判断空字典
dict={}
if not dict:
    print("这是空字典")
if dict:
    print("字典不空")
# 判断空字符串
str=""
if not str:
    print("这是空字符串")
if str:
    print("字符串不空")
# 判断空元祖
tuple=()
if not tuple:
    print("这是空元组")
if tuple:
    print("元组不空")

运行结果:


在空列表判断的python代码中,我们看到使用了if...if...这样的表达式,两个if表达式,独立进行判断,可能写上else:pass会更容易理解

name="困困"
if name=="困困":
    print("是困困啊")
else:
    pass
if name!="kunkun":
    print("kunkun不是困困")
else:
    pass

运行结果:


三 扩展

if条件可以嵌套,当满足一个if条件之后,程序会在该分支下继续往下走,如果同时满足该分支下的if条件,会相继输出满足条件的结果,如下面的例子:

# if嵌套
score=100
name="kunkun"
age=1
if score ==100:
    print("奖励")
    if name=="kunkun":
        print("double 奖励")
        if age<=1:
            print("YYDS")
else:
    print("我想静静")

 运行结果:


 

码字不易,且行且珍惜,欢迎指正o.o