文章目录
前言
本专栏从「基础」的编程知识开始,带你了解「基础算法」以及「Python的美」与「函数」的方便与快捷之处。收集 「100例Python语言基础入门题」,包含 「考试真题」, 「LeetCode基础题」,并且加入详细的解题思路以及难度分析。
此100例部分为『本人』收集,部分为本人自己所想,从『入门』开始,到『进阶』结束,『实际操作』加解题分析,让你『彻底掌握』Python语言基础
1. 题目描述
输入某年某月某日,判断这一天是这一年的第几天?
2. 程序分析
应该先把前面几个月的加起来,然后再加上日数即本年的第几天,特殊情况,闰年且输入月份大于2时需考虑多加一天
3. 程序源代码
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Author: Smly # @datetime: 2021/10/7 21:06 # @Version: 1.0 # 获取年月日 year = int(input('year:\n')) month = int(input('month:\n')) day = int(input('day:\n')) # 每月天数 months = (0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334) # 总天数 sum = 0 if 0 < month <= 12: sum = months[month - 1] else: print('data error') # 计算总天数 sum += day # 计算闰年 leap = 0 if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)): leap = 1 if (leap == 1) and (month > 2): sum += 1 print('it is the %dth day.' % sum)
4. 运行结果
year: 2021 month: 10 day: 7 这是第280天。
5. 难度分析
- 闰年可能会计算错误
- 不会使用数据结构来简化操作
6. 涉及知识点
- 集合
- 分值控制