Python中的if…elif嵌套

if…elif中嵌套if…elif

王思总同学我们在最开始的故事中讲到了他有两个秘书:一个生活秘书、一个工作秘书。

王思总同学在出行和项目中也是极度有计划性。他给自己的生活秘书和工作秘书分别指派了出差的行程:

生活上: 先查天气,下雨带雨具和毛巾。不下雨要带防晒霜 雨具、毛巾和防晒霜的情况要提前检查,如果没有要及时买

工作上: 要提前沟通去大连前的工作计划,准备好了要及时检查,检查合格,要提前打印现来。 及时没有及时准备好的情况下,要列出主要的项目沟通议题。

类似于上面的这种情况判断,我们就需要用到if…elif…else反复嵌套的结构了。

在if语句中可以嵌套一个或多个if语句,以实现对多个参数的判断,这就是if语句的多种嵌套。其结构形式如下:

if 判断1:
		if 判断2:
            代码段 1    
		else:
            代码段2
        
else:
		if 判断3:
            代码段3
   	else:
            代码段4

我们用流程图来表示如下:  注意:

  1. 我们在代码段1,2,3,4中可以再加入判断。根据实际情况还可以再加入嵌套
  2. 注意缩进,缩进的作用只是使代码富有层次感,美观易读,对目标代码的生成毫无影响。

我们把王思总同学的生活要求,我们可以用代码用嵌套结构表示出来。我们使用到了三层嵌套结构,代码如下:

#coding=utf-8

import random

# 0表示工作秘书,1表示生活秘书
# 用代码模拟随机产生当前的工作是生活秘书的还是工作秘书的
mishu = random.randint(0, 1)

if mishu:
    # 下雨和不下雨的状态,随机产生
    # 下雨状态为1
    # 不下雨状态为0
    xiyu = random.randint(0,1)
    if xiyu:
        # 是否购买雨伞
        you = random.randint(0, 1)
        if you:
            print('下雨天,已购买不用买雨伞')
        else:
            print('下雨天,未已购买,需要买雨伞')
    else:
    		#是否购买防晒霜
        you = random.randint(0, 1)
        if you:
            print('没下雨,有防晒霜')
        else:
            print('没下雨,需要准备防晒霜')

else:
    # 是否准备好了会议议程
    shifou = random.randint(0, 1)

    if shifou:
        print('已准备好,可以随时出发')
    else:
        print('没有准备好,需要打印,延迟出发')

【警告】

对于编程新手,在使用这种嵌套if…else循环时,请小心使用。因为太多层的循环容易使设计的逻辑出问题,或者没有控制好缩进等,都会导致程序出现莫名其妙的问题。

希望你能够默写出来。并且,不能有一丁点的语法错误。在以后,我们随时用,要在大脑当中立马产生反映,动手就写。

本文原创,转载注明来源:Python李文凯。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注