Python从入门到精通(第3版)
上QQ阅读APP看书,第一时间看更新

3.3 条件表达式

在开发程序时,经常会根据表达式的结果有条件地进行赋值。例如,要返回两个数中较大的数,可以使用下面的if语句:

     01  a = 10
     02  b = 6
     03  if a>b:
     04      r = a
     05  else:
     06      r = b

上述代码可以使用条件表达式进行简化,代码如下:

     01  a = 10
     02  b = 6
     03  r = a if a > b else b

使用条件表达式时,先计算中间的条件(a>b),如果结果为True,则返回if语句左边的值,否则返回else右边的值。例如,上述表达式的结果,即r的值为10。

【例3.5】使用条件表达式判断是否为闰年。(实例位置:资源包\TM\sl\03\05)

在IDLE中创建一个名称为leapyear.py的文件,然后在该文件中定义一个保存要判断的年份的变量,接着应用条件表达式判断该年份是否为闰年,最后输出判断结果,代码如下:

     01  year = 2024                                     # 年份
     02  result = "是闰年" if (year%4==0 and year % 100 !=0) or (year%400 == 0) else "不是闰年"
     03  print("\n"+str(year) + "年" + result + "!")     # 输出结果

运行上述代码,将显示如图3.16所示的运行结果。

图3.16 判断是否为闰年的结果

说明

判断一个年份是否为闰年的条件是,能被4整除,但不能被100整除,或者能被400整除。