前言

Python每日一练来啦,本文已收录于:《Python每日一练》专栏

此专栏目的在于,帮忙学习Python的小白提高编程能力,训练逻辑思维,每周持续更新中,欢迎免费订阅!!!


文章目录

  • 1. 问题描述
  • 2. 算法思路
  • 3. 代码实现
  • 4. 算法升级
  • 5. 如何让刷题变得更加高效呢?

1. 问题描述

输入年月日,输出该日期是否是闰年,并且输出该日期是此年份的第几天

闰年判断条件(两个条件满足任意一个就为闰年):

  • 一、能被4整除,并且不能被100整除
  • 二、能被400整除

    小伙伴们看了问题描述后,一定要自己先练习,再去看博主的代码和解题思路,才能提高自己的编程水平,全靠自觉哟!!!

    欢迎小伙伴们把自己的思路或答案在评论区留言,博主会选一个最优解答进行置顶。

2. 算法思路

1.接收用户输入的年月日,创建保存12个月份天数的列表

2.根据年份判断是否是闰年,如果是把二月份设为29天,否则把二月份设为28天

3.根据月份和日期统计是当年的第几天

3. 代码实现

实现代码:

"""python每日一练:闰年问题升级版1.接收用户输入的年月日,创建保存12个月份天数的列表2.根据年份判断是否是闰年,如果是把二月份设为29天,否则把二月份设为283.根据月份和日期统计是当年的第几天"""# 1. 接收用户输入的年月日,创建保存12个月份天数的列表year = int(input("请输入年份:"))month = int(input("请输入月份:"))day = int(input("请输入日期:"))# 12个月天数列表date_list = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]count_day = day# 用来统计第几天# 2. 根据年份判断是否是闰年,如果是把二月份设为29天,否则把二月份设为28天if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:print("%s 年是闰年" % year)date_list = 29else:print("%s 年是平年" % year)date_list[1] = 28# 3. 根据月份和日期统计是当年的第几天for i in range(month - 1):count_day += date_list[i]# 格式化输出print("%s年:%s月:%s日是当年的第%s天" % (year, month, day, count_day))

运行结果:

4. 算法升级

使用time模块的strftime函数判断第几天

实现代码:

import timetry:# 键盘输入日期格式a = input('请输入日期(格式:xxxx-xx-xx):')# 时间字符串转化为元组b = time.strptime(a, '%Y-%m-%d')except ValueError:print('请输入正确的日期格式!')else:b = time.strptime(a, '%Y-%m-%d')# 时间元组格式化输出# print(b)# time.struct_time(tm_year=2020, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=1, tm_isdst=-1)year = b.tm_yearmonth = b.tm_monday = b.tm_mdaycount_day = b.tm_yday# 一年内的一天(001-366)if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:print("%s 年是闰年" % year)else:print("%s 年是平年" % year)print("%s年:%s月:%s日是当年的第%s天" % (year, month, day, count_day))

运行结果:

5. 如何让刷题变得更加高效呢?

1. 编程小白选手

很多刚入门编程的小白学习了基础语法,却不知道语法的用途,不知道如何加深映像,不知道如何提升自己,这个时候每天刷自主刷一道题就非常重要(百炼成神),可以去牛客网上的编程初学者入门训练。该专题为编程入门级别,适合刚学完语法的小白练习,题目涉及编程基础语法,基本结构等,每道题带有练习模式和考试模式,可还原考试模式进行模拟,也可通过练习模式进行练习。

链接地址:牛客网 | 编程初学者入门训练

2. 编程进阶选手

当基础练习完已经逐步掌握了各知识要点后,这个时候去专项练习中学习数据结构、算法基础、计算机基础等。先从简单的入手,感觉上来了再做中等难度,以及较难的题目。这三样是面试中必考的知识点,我们只有坚持每日自己去多加练习,拒绝平躺持续刷题,不断提升自己才能冲击令人满意的公司。

链接地址:牛客网 | 专项练习

速度上号,大家一起冲击大厂,有疑问评论区留言解答!!!