条件控制练习题
1.判断日期是否合法
1.1 题目要求
使用input函数接受用户输入,用户输入月份和日期,比如“3月15日”,请写程序判断这个日期是否合法,为了简化编程难度, 只考虑非闰年的情况,默认月份总是正确。以下为输入示例
示例1
输入: 3月15日 |
示例2
输入: 5月32日 |
1.2 思路分析
1,3,5,7,8,10,12月有31天,非闰年2月份有28天,其他月份有30天。
输入的数据是一个字符串,需要把月份和日期提取出来,提取思路如下
- 使用字符串replace方法将“日”替换成空字符串
- 使用split方法,“月”作为分割符对字符串进行分割,得到列表
- 将列表里的数据转换成int类型数据
1.3 示例代码
date_time = input("请输入月份和日期:") |
1.4 程序流程图

1.5 更简洁的写法
上面的代码虽然逻辑上没有问题,但过于臃肿,不符合python一贯简洁的风格,下面的代码相比较而言,代码量更好,更利于阅读,逻辑更加清晰,这是你需要努力的方向
date_time = input("请输入月份和日期:") |
2. 判断闰年
2.1 题目要求
使用input函数接收用户的输入,用户输入一个年份,请写代码判断这一年是否为闰年,如果是闰年,则输出“xxx 是闰年”,反之输出“xxx 不是闰年”, 闰年的规则如下:
- 不能被4整除的一定不是闰年
- 如果年份能被4整除且不能被100整除,则是闰年
- 如果年份能被4整除,同时又能被100整除,那么要判断它能否被400整除,如果可以则是闰年,否则不是
2.2 示例代码
year = int(input("请输入一个年份:")) |
2.3 程序流程图

3. 比较两个数大小
3.1 题目要求
使用input函数接收用户输入,用户会输入两个整数,中间用空格分割,程序输出两个数中最大的一个。
3.2 思路分析
input函数返回的数据是一个字符串,使用字符串split方法可以将字符串解析成一个列表,列表里有两个字符串,将他们转换成int类型数据,分别赋值给变量a,b,对这两个数值进行比较,输出最大的一个
3.3 示例代码
value = input("请输入两个整数,中间用空格分开:") |
3.4 程序流程图

4. 比较三个数大小
4.1 题目要求
使用input函数接收用户输入,用户会输入三个整数,中间用空格分割,程序输出三个数中最大的一个。
4.2 思路分析
这个题目,我们借助程序流程图来梳理思路
4.3 示例代码
value = input("请输入两个整数,中间用空格分开:") |
4.4 另一种算法
4.3 的代码,并不是一种好的算法,逻辑处理过于繁琐,作为训练使用还可以,若是用于实际工作,空拍就要被笑话了,下面提供一种更好的算法
value = input("请输入两个整数,中间用空格分开:") |
还有更加简单的写法,在初学阶段,我们不在进行讨论。