6.if elif else

判断语句if

if 要判断的条件:

  条件成立时,要做的事情

注意事项:

判断条件的结果一定要是布尔类型

不要忘记判断条件后的: 冒号

归属于if语句的代码块,需在前方填充4个空格缩进

age = int(input("请输入你的年龄"))
if age < 18:
    print("小朋友")
    print("好好上学")
if age >= 18:
    print("已经成年了")
    print("好好上班")

print("此print不在条件语句中,总会输出")
已经成年了
好好上班
此print不在条件语句中,总会输出

if else

if 条件:

  满足条件要做的事情

else:

  不满足条件做的事情

多个if独立判断,满足几个条件输出几个结果

age = int(input("请输入你的年龄"))
if 0 < age < 18:
    print("小朋友")
    print("好好上学")
if 60 >= age >= 18:
    print("年轻人")
    print("好好上班")
if 200 > age > 60:
    print("好好享受退休生活吧")
else:
    print("输入错误")
输入错误

if elif else

if 条件:

  满足条件1要做的事情

elif 条件: # 只输出最上面满足条件的输出

  满足条件2要做的事情

else:

  不满足所有条件做的事情

判断是互斥且有顺序的,上一个条件满足后面的条件就不会判断了,如果都不满足,进入else,else可以省略

可以在条件判断中,直接写input语句,节省代码量与优化输入体验

height = int(input("请输入你的身高cm"))
vip_level = int(input("请输入你的vip等级"))
datetime = int(input("今天几号?"))
if height <= 120:
    print("身高小于120,免费")
elif vip_level > 3:
    print("高级会员免费")
elif datetime == 1:
    print("今天免费日,免费")
else:
    print("买票")
高级会员免费
# 优雅的优化  不用输入完三个变量,输入满足条件即可结束
if int(input("请输入你的身高cm")) <= 120:
    print("身高小于120,免费")
elif int(input("请输入你的vip等级")) > 3:
    print("高级会员免费")
elif int(input("今天几号?")) == 1:
    print("今天免费日,免费")
else:
    print("买票")
身高小于120,免费

示例

猜猜心里的数字

num = 8
if int(input("请猜一个数字!")) == num:
    print("第一次就猜对了!")
elif int(input("不对,再猜一次!")) == num:
    print("猜对啦!")
elif int(input("还是不对,最后再猜一次!")) == num:
    print("终于猜对了!")
else:
    print("很遗憾,都没猜对,数字是8")
终于猜对了!

判断语句的嵌套

许多逻辑的判断,是嵌套的,多层次的,对于这种需求,可以:自由组合if elif else完成特定的需求

if 条件:

  满足条件1要做的事情

    if 条件:

      满足条件2要做的事情

elif 条件:

  满足条件2要做的事情

else:

  不满足所有条件做的事情

注意:嵌套判断语句,一定要注意空格缩进,Python通过空格缩进来决定层次关系

if int(input("请输入你的身高cm")) > 120:
    print("身高大于120,不免费")
    if int(input("请输入你的vip等级")) > 3:
        print("高级会员免费")
    elif int(input("今天几号?")) == 1:
        print("今天免费日,免费")
    else:
        print("买票")
else:
    print("免费")
免费

案例

定义一个数字(1-10)随机产生,通过3次判断来猜出来数字

import random
num = random.randint(1,10)
guess_num = int(input("输入你要猜测的数字:"))

if guess_num == num:
    print("一下就猜对了!")
else:
    if guess_num > num:
        print("你猜的数字大了!")
    else:
        print("你猜的数字小了!")

    guess_num = int(input("再次输入你要猜测的数字:"))

    if guess_num == num:
        print("这下就猜对了!")
    else:
        if guess_num > num:
            print("你猜的数字大了!")
        else:
            print("你猜的数字小了!")

        guess_num = int(input("再三输入你要猜测的数字:"))

        if guess_num == num:
            print("三次终于猜对了!")
        else:
            print("很遗憾!")
你猜的数字大了!
你猜的数字大了!
三次终于猜对了!