Python编程从入门到实践日记Day10
第4章 if语句(三)
1.使用if语句(一) 理解条件测试后,就可以开始编写if语句了。if语句有很多种,选择使用哪种取决于要测试的条件数。 -简单地if语句 假设有一个表示某人年龄的变量,而你想知道这个人是否够投票的年龄,可使用如下代码: 第二行代码Python检查变量age的值是否大于或等于18;答案是肯定的,因此Python执行缩进的print语句: 在if语句中,缩进的作用与for循环中相同。如果测试通过了,将执行if语句后面所有缩进的代码行,否则将忽略它们。 - if-else语句 经常需要在条件测试通过了时执行一个操作,并在没有通过时执行另一个操作;在这种情况下,可使用Python提供的if-else语句。if-else语句块类似于简单的语句,但其中的else语句让你能够指定条件测试未通过时要执行的操作。 下面的代码在一个人够投票的年龄时显示与前面相同的消息,同时在这个人不够投票的年龄时也显示一条消息: 如果if语句处的条件测试通过了,就执行第一个缩进的print语句块;如果测试结果为False,就执行else处代码块。这次age小于18,条件测试未通过,因此执行else代码块中的代码: 上述代码之所以可行,是因为只存在两种情形:要么够投票的年龄,要么不够。if-else结构非常适合用于要让Python执行两种操作之一的情形。在这种简单的if-else结构中,总是会执行两个操作中的一个。 - if-elif-else结构 经常需要检查超过两个的情形,为此可使用Python提供的if-elif-else结构。Python只执行if-elif-else结构中的一个代码块,它依次检查每个条件测试,直到遇到通过了的条件测试。测试通过后,Python将执行紧跟在他后面的代码,并跳过余下的测试。 在现实世界中,很多情况下需要考虑的情形都超过两个。例如,来看一个根据年龄段收费的游乐场: 4岁以下免费; 4~18岁收费5美元; 18岁(含)以上收费10美元。 如果只使用一条if语句,如何确定门票价格呢?下面的代码确定一个人所属的年龄段,并打印一条包含门票价格的消息: if处代码测试检查一个人是否不满4岁,如果是这样,Python就打印一条合适的消息,并跳过余下的测试。elif处代码行其实是另一个if测试,它仅在前面的测试未通过时才会运行。在这里,我们知道这个人不小于4岁,因为第一个测试未通过。如果这个人未满18岁,Python将打印相应的消息,并跳过else代码块。如果if测试和elif测试都未通过,Python将运行else处代码块中的代码。 在这个示例中,if代码处测试的结果为False,因此不执行其代码块。然而第二个测试的结果为True,因此将执行其代码块。输出为一个句子,向用户指出了门票价格: 只要年龄超过17岁,前两个测试就都不能通过。在这种情况下,将执行else代码块,指出门票价格为10美元。 为让代码更简洁,可不在if-elif-else代码块中打印门票价格,而只在其中设置门票价格,并在他后面添加一条简单的print语句: 这些代码的输出与前一个示例相同,但if-elif-else结构的作用更小,它只确定门票价格,而不是在确定门票价格的同时打印一条信息。除效率更高外,这些修订后的代码还更容易修改:要调整输出消息的内容,只需修改一条而不是三条print语句。 |
如果大家有什么好的意见或建议,记得留言哦!