美文网首页
学习笔记:流程图理解python语言之条件判断

学习笔记:流程图理解python语言之条件判断

作者: 杜遥 | 来源:发表于2018-12-20 02:43 被阅读67次

    流程图是什么:请跟着箭头指示往下走,程序就像走流程一样完成工作。

    言归正传:咱们先看下python语言中条件判断 if 是什么?

    If语句共有三个知识点:

    if...

    if...else...

    if...elif...else...

    如果用一句话来概括条件判断,就是——“让计算机在什么条件下干什么”   用流程图该这样表示:

    一、if 【如果】的逻辑:

    我们以《西游记》中,唐僧师徒在女儿国的遭遇为例来讲解。但是为了学习python编程,会适当地改编一下剧情。

    话说唐三藏师徒一行人来到西梁女儿国,本想照验通关文牒,早日放行,谁知女儿国国王对唐僧一见倾心。

    可是女王毕竟不是寻常人家的女子,她也有自己的为难之处。

    这天午后,她一会游荡在御花园里,一会呆坐在宫殿里,纠结着贵为一国之君的自己,和已斩断红尘的出家人唐僧到底是否合适。

    在思考了大半天之后,她自言自语道:上天啊,我也很纠结,要不你来帮我决定吧。如果今晚下雨了,那就说明我和唐三藏合适,可以在一起。

    此种情况,在Python中,可以这样表述:

    1  weather = input('请回答:今晚下雨or没下雨')

    2  if weather == '下雨':

    3      print('我和唐僧可以在一起。')

    请问,你发现了么,当输入“下雨”时,程序会给出“我和唐僧可以在一起”的回复;但如果输入“不下雨”,程序什么也不会出现。因为这不满足下一行代码的要求!

    所以我们需要重新审视下if语句的使用逻辑:

    if ...(条件): 

     ...(做点儿什么) 

     ...(做点儿什么)...

    (if语句的外部命令)

    if 后面跟的是一个条件。当条件为真时,就执行内部缩进的命令(做点儿什么);如果条件为假,不管,跳过if,去执行if语句的外部命令。

    用流程图理解即为:

    满足条件(条件1为真)时执行动作一、动作二、动作三等,不满足跳出判断执行其他任务  

    二、if...else 的【如果-否则】的逻辑:

    回到女王的故事上面来。女王自己设定的是,如果晚上下雨,那么就表示,上天觉得女王可以和唐僧在一起。

    你猜晚上下雨了吗?(⊙v⊙)嗯,下雨了。好,下一步,女王决定表白。

    可是到了第二天早上,女王开始纠结新的东西——表白的结果。

    唐僧如果答应了表白,当然好,自己愿意和他马上成婚;但是如果唐僧没有答应的话,是不是可以采取一些武力的手段呢?毕竟唐僧所处的行政区域正是自己管辖的领土,大唐的皇帝也管不到这么远。

    这个逻辑如果体现在Python中,是这样的:

    1 answer = input('唐僧接受了表白吗?请回答有or没有?')

    2 if answer == '有':

    3           print('很好,马上举行婚礼,全国放假')

    4 else:   

     5         print('把唐僧软禁起来,从长计议')

    (else代表否则如果)

    所以 if...else...的使用逻辑也出来了。

    1 if...(条件):   

    2     ...(做点儿什么)    

    3     ...(做点儿什么)

    4 else:    

    5    ...(干点儿别的)    

    6    ...(干点儿别的)

    if 后面跟的是一个条件,当条件为真时,执行 if 下面的(做点儿什么)命令,当条件为假时,跳到else: ,然后开始执行else: 下面的命令

    放在流程图中:

    当条件为真时,执行 条件1下面的(做点儿什么)命令,当条件为假时(否则),跳到否则线: ,然后开始执行下面的命令


    三、if...elif...else... 的【如果1-如果2-否则】的逻辑:

    照理说,女王该向唐三藏表白了。不过,毕竟是女王,习惯了身边有参谋,她又把自己的想法跟国师讲了下。

    国师看女王这些天的状态,知道她一时为情所困,并不理性。唐僧取经,是奉王命行事,不论是成婚还是软禁唐僧,都涉及到大唐的政治关系,是一件外交上的麻烦事;而且国师私下也找唐僧谈过,了解他们师徒四人之前历经过种种艰难险阻,其心甚坚,是绝不肯为女王留下来的。

    国师心里虽然清楚,但又不好直接告诉女王,于是她是这样对女王说的:“陛下,你这样做打算,考虑得不周全。”“噢,此话怎讲?”女王问。

    “您只考虑了唐僧的两种反应:接受您的心意,和拒绝您的心意,却没有考虑到其他情况?”国师说。“那难道还有第三种情况?”女王问。

    “臣以为有,万一唐长老心中对您有意,但取经也不可不进行,这算是接受还是拒绝呢?又万一唐长老一直沉默,不回答您,既不拒绝,也不接受,这又算什么呢?”国师说。女王问:“嗯,那国师以为如何是好?”女王说。“您可以再设置一种情况,其他类型的反应——容后再议。”

    这样,女王心中,就有了三种应对策略。

    1 a = input('''唐僧的反应是什么?

    2 1.明确接受

    3 2.明确拒绝

    5 3.其他反应

    5 请输入数字 ''')

    6 if a == '1':

    7    print('成婚')

    8 elif a == '2':

    9     print('软禁')

    10 else:

    11     print('容后再议')


    再来审视一下elif的使用逻辑:

    1 if...(条件1):

    2    ...(做点儿什么)

    3 elif...(条件2):

    4     ...(做点儿其他的)

    5 elif...(条件3):

    6     ...(做点儿其他的)

    7 else(其他):

    8     ...(干点儿别的)

    if后面跟的是一个条件,当此条件为真时,执行if下面的(做点儿什么)命令,然后结束条件判断;当条件为假时,跳到elif。

    elif后面跟的是另一个条件,当此条件为真时,执行elif下面(做点儿其他的)命令,然后结束条件判断;当此条件为假时,跳到第二个elif:

    elif后面跟的又是一个条件,当此条件为真时,执行elif下面(做点儿其他的)命令,然后结束条件判断;当此条件为假时,跳到else那里,去执行else下的命令。

    流程图如此表示:

    相关文章

      网友评论

          本文标题:学习笔记:流程图理解python语言之条件判断

          本文链接:https://www.haomeiwen.com/subject/makekqtx.html