Python第三课:单项判断、双向判断与多向判断(if;if…else…;if…elif…else…)

一、单向判断:if

  • 意思就是:如果……就……
    • if(条件)后须跟随英文冒号:
# 为钱包赋值
money = 1000

# 条件:如果有1000块钱以上(包含1000块),就去吃日料
if money>=1000:
    
    # 结果:显示‘你去吃日料’的结果
    print('金刚狼带凤凰女去吃日料')   
  • 这段代码的实现逻辑是:

    1. 首先,第一行代码,用=号对当前情况进行赋值:将钱包1000赋值给变量money。

    2. 第二步,确定if条件: 如果钱包money的值>=1000, 就执行冒号后的下一行命令。

    3. 第三步,用print =()命令打印出结果, 你去吃日料吧,带上钱,带上女朋友。

Python第三课:单项判断、双向判断与多向判断(if;if…else…;if…elif…else…)_第1张图片

  • 缩进
    • 切记满足条件的输出结果前要有缩进.,缩进是四个空格或一个Tab键
    • 被缩进的所有内容被称为if语句内的代码块
    • 表示: 如果满足if条件,计算机就会执行if语句内的代码块。(缩进的所有内容)

Python第三课:单项判断、双向判断与多向判断(if;if…else…;if…elif…else…)_第2张图片

Python第三课:单项判断、双向判断与多向判断(if;if…else…;if…elif…else…)_第3张图片

二、双向判断:if…else…

  • 如果满足if的条件,则执行if代码块内内容;若不满足if的条件,则执行else代码块内内容
    • if后须跟随条件,并加英文冒号:
    • else后不用跟随条件,加英文冒号:
# 为钱包赋值
# 条件:如果有1000块钱以上(包含1000块),就去吃日料
if money>=1000:
    
    print('金刚狼带凤凰女去吃日料')  

# 条件:当不满足if条件,执行else条件下语句
else:
    
    print('金刚狼带凤凰女去吃KFC')  

# 赋值语句:为体重赋值
weight = 98

# 条件:满足体重超过90(包含90)
if weight>=90:
    
    # 结果:显示‘跑步’的结果
    print('她就每天去跑步')
    
# 条件:当赋值不满足if条件时,执行else下的命令
else:
    
    # 结果:显示‘散步’的结果
    print('她就每天去散步')

Python第三课:单项判断、双向判断与多向判断(if;if…else…;if…elif…else…)_第4张图片

三、多向判断

  • 多向判断的语句为:if…elif…else
    • if后须跟随条件,并加英文冒号:
    • elif后须跟随条件,并加英文冒号:
    • else后不用跟随条件,加英文冒号:

Python第三课:单项判断、双向判断与多向判断(if;if…else…;if…elif…else…)_第5张图片

# 为钱包赋值
money = 999

# 条件:如果有1000块钱以上(包含1000块),就去吃日料
if money>=1000:
    
    print('金刚狼带凤凰女去吃日料')  

# 条件:如果有800-1000块钱之间(包含800块)
elif money>=800:
    
    print('金刚狼带凤凰女去吃披萨')

#不满足条件
else:
     print('金刚狼带凤凰女去吃KFC')
  • 执行步骤:

    • 第一步,第一行赋值,会自上而下的顺序挨个试一遍,看自己满足哪个条件?

    • 第二步,满足哪个条件,就执行哪个条件里面对应的代码块,不满足条件就继续往后试,试出结果为止。

# 如果加班时间超过10点(包含10点),小K就打车回家;如果加班时间在8点-10点之间(包含8点),小K坐地铁回家;如果加班时间早于8点,小K骑单车回家。

# 为时间赋值
time = 9

# 条件:如果超过10点,打车回家
if time>=10:
    
    print('小K打车回家')  

# 条件:如果在8点-10点之间
elif time>=8:
    
    print('小K坐地铁回家')

#条件: 早于8点
else:
     print('小K骑单车回家')

Python第三课:单项判断、双向判断与多向判断(if;if…else…;if…elif…else…)_第6张图片

四、if嵌套

  • 例:在X战警团队里,每个人都是有段位的, 而段位是根据这个队员在团队的贡献值来确定的,金刚狼的贡献值有860。 请你写出一段代码,判断金刚狼的段位,代码需要满足如下条件:

    1、如果贡献值大于等于600,显示“特种作战人员”,在此前提下:
    a.如果贡献值大于等于800,显示“王者”。
    b.如果贡献值小于800,显示“黄金”。

    2、如果贡献值小于600,显示“普通作战人员”,在此前提下:
    c.如果贡献值大于400,显示“白银”。
    d.如果贡献值小于等于400,显示“青铜”。

contribution=860

if contribution>=600:
    print('特种作战人员')

    if contribution>=800:
        print('王者')

    else:
        print('黄金')

else:
    print('普通作战人员')

    if contribution>400:
        print('白银')

    else:
        print('青铜')

print('结束')
  • if中嵌套了代码块1,else中嵌套了代码块2,在计算机中的执行顺序如下:

    (1)先给contribution赋值。

    (2)因为if与else是二选一的关系, if和else中的代码只会执行一个,要么执行代码块1,要么执行代码块2; contribution=860满足if(contribution>=600)的条件,就进入代码块1中进行执行,执行print(‘特种作战人员’)。

    (3)进入到代码块1, contribution=860去尝试代码块1中的条件,满足 contribution>=800的条件,只能去执行代码块1中的if,执行print(‘王者’)。

    (4)执行print(‘结束’)。

  • 原则:

    1. 根据缩进来判断层级
    2. 根据层级来按行执行
    3. 根据值来判断是否满足条件,满足则执行条件下的代码,不满足则进入下一个判断

Python第三课:单项判断、双向判断与多向判断(if;if…else…;if…elif…else…)_第7张图片

五、总结

Python第三课:单项判断、双向判断与多向判断(if;if…else…;if…elif…else…)_第8张图片

六、练习

  1. 请你写出一段代码, 在金刚狼的X战警团队只有两个人的情况下,进行条件判断,并产生对应的结果。
    1、如果团队人数大于4人,输出结果打败死侍他们。
    2、如果团队人数是2-4之间,输出结果两败俱伤。
    3、如果团队人数小于2,输出结果被死侍碾压需要请求复仇者支援。
# 第三节课

num = 2

if num>4:
    print('打败死侍他们')
    
elif 2<=num<=4:
    print('两败俱伤')
    
elif num<2:
	print('被死侍碾压,需要请求复仇者联盟资源')
  1. 金刚狼拥有快速自愈能力,他想把这个能力赋予给其他人。根据他的条件,他制定了如下规则。
    1、如果身体体能指数energy大于等于80,就是容易改造,在此前提下:
    a) 如果身体体能指数大于等于90,1小时改造完毕。
    b) 如果身体体能指数大于等于80,1天改造完毕。
    2、如果身体体能指数小于80,就是不易改造,在此前提下:
    a) 如果身体体能指数小于60, 改造不了。
    b) 如果身体体能指数大于等于60小于80,希望渺茫。
    那么像魔女,她的身体体能指数有65,能否改造呢?
energy = 65

if energy >=80:
    print('容易改造')
    
    if energy >=90:
        print('1小时改造完毕')
        
    else:
        print('1天改造完毕')
        
else:
    print('不易改造')
    
    if energy >=60:
        print('希望渺茫')
        
    else:
        print('改造不了')
  1. 题目:

    if a == “b”:

    print(“成功1”)

    elif b = “c”:

    print(“成功2”)

    elif:

    print(“成功3”)

    请修改以上错误代码成功打印 print(“成功1”),并举出错误原因

    # 第三节课练习,修改后的代码:
    
    a ="b"
    
    if a == "b":
    	print("成功1")
    	
    elif b == "c":
    	print("成功2")
    	
    else:
    	print("成功3")
    
  2. 题目:

    周杰伦

    1 . 定义一个字符串变量a = “周”(你名字中的姓),if 判断是否全等于你的全名“周杰伦”,满足输出:验证成功123,不满足条件输出:验证失败123,

    2 . 不满足条件(else)则使用字符串拼接将变量a 和你的名字拼接“杰伦”,再次判断是否全等于你的全名“周杰伦”,满足输出:验证成功,否则:验证失败

    # 第三节课练习
    
    a = "周"
    
    if a == "周杰伦":
        print("验证成功123")
        
    else:
        print("验证失败123")
        
        if a+"杰伦" == "周杰伦":
        	print("验证成功")
            
        else:
            print("验证失败")
    
  3. 题目:

    • input输入你的学生编号,判断大于等于100并小于200则输出: 你是三班学生 ,小于等于50输出:一班学生,大于50并小于100输出:你是二班学生 ,不满足任何条件输出:你被开除了

    • 判断学生编号大于等于100并小于200同学判断大于150输出为:优等生,全等于150输出为:班主任,其余情况输出为:差等生

#第三节课练习

num=int(input("输入你的学生编号:"))

if 100<=num<200:
    print('你是三班学生')
    
    if num>150:
        print('优等生')
        
    elif num==150:
        print('班主任')
        
    else:
        print('差等生')
        
elif 50<num<100:
    print('你是二班学生')
    
elif num<=50:
    print('你是一班学生')
    
else:
    print('你被开除了')

你可能感兴趣的:(Python第三课:单项判断、双向判断与多向判断(if;if…else…;if…elif…else…))