【问题描述】ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
输入一个年份,判断是否为闰年。闰年的条件是年份能被4整除且不能被100整除,或者能被400整除。ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
输入数据:ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
2000ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
输出结果:ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
是闰年ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
【题前思考】ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
根据问题描述,填写表3-1-3。ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
表3-1-3 问题分析ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
【解题思路】ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
根据闰年的定义,判断闰年的第一条件为年份能被4整除且不能被100整除,第二条件为能被400整除,两者只需要一个成立即是闰年。ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
【程序代码】ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
【代码分析】ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
①:一个年份,要么是平年,要么是闰年,因此使用分支来进行判断。首先判断闰年,只要满足两个条件中的任意一个即是闰年,一个是年份能被4整除但不能被100整除,表示为y%4==0 and y%100!=0,运算符and是布尔运算符表示运算符两边都成立结果才成立,意思就是y能被4整除而且y不能被100整除。另一个条件则是能被400整除,表示为y%400==0即除以400的余数为0。这两个条件满足其中之一就是闰年,所以中间用or来连接。or也是布尔运算符,表示运算符两边只要一边成立结果就成立,整个表达式的意思就是(y%4==0 and y%100!=0)成立或者(y%400==0)成立。如果整个表达式成立,就执行下面缩进的语句块,在这里是print("是闰年"),输出“是闰年”这3个字。ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
②:如果不是闰年就是平年,执行else下面的语句,注意else后也有冒号(:),且下面的语句块也要缩进,表示if后的表达式不成立时要执行的语句。ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
【优化提升】ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
以上代码可改写为if-else表达式,代码更加简洁:ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
"是闰年"ify%4==0and y%100!=0 or y % 400==0 else"是平年",这个表达式表示的意思是如果y%4==0 and y%100!=0 or y % 400==0成立,则其值为if前的表达式的值“是闰年”,否则其值为else后的表达式的值“是平年”。ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
【技术全貌】ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
1.双分支结构语句ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
if else语句的一般格式为:ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
if条件表达式:ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
语句块1ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
else:ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
语句块2ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
其功能是先计算条件表达式的值,如果条件表达式成立,则执行后面的语句块1;当条件表达式不成立时,则执行语句块2,执行流程图如图3-1-3所示。ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
图3-1-3 if else语句执行流程图ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
else不能单独使用,必须和if一起使用,并且要正确配对。ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
if条件表达式和else后面的冒号(:)千万不能忘记。ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
在编程的过程中,有时候我们会先搭建起程序的整体逻辑结构,只是暂时不去实现某些细节,而是在这些地方加一些注释,方便以后再添加代码。Python还提供了空语句pass,用来让解释器跳过此处,什么都不做。ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
if t <=0:ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
passojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
else:ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
print("t大于0")ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
当条件表达式t<=0成立时,执行空语句pass,跳过此处执行if else语句后面的语句。ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
2.逻辑运算符和逻辑表达式ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
Python支持布尔运算(也称逻辑运算),详细描述见表3-1-4。ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
表3-1-4 逻辑运算ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
例如:ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
ojj100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库