Python每日一练——第5天:闰年问题升级版

这篇具有很好参考价值的文章主要介绍了Python每日一练——第5天:闰年问题升级版。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言📢📢

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

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

Python每日一练——第5天:闰年问题升级版



1. 问题描述

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

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

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


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

    欢迎小伙伴们把自己的思路或答案在评论区留言,博主会选一个最优解答进行置顶。
    Python每日一练——第5天:闰年问题升级版

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[1]  = 29
else:
    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))

运行结果👇:

Python每日一练——第5天:闰年问题升级版

Python每日一练——第5天:闰年问题升级版

4. 算法升级

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

实现代码📝:

import time

try:
    # 键盘输入日期格式
    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_year
    month = b.tm_mon
    day = b.tm_mday
    count_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))

运行结果👇:
Python每日一练——第5天:闰年问题升级版


《100天精通Python从入门到就业》专栏推荐白嫖80gPython全栈视频

《100天精通Python从入门到就业》:本专栏专门针对零基础和需要进阶提升的同学所准备的一套完整教学,从0到100的不断进阶深入,后续还有实战项目,轻松应对面试,专栏订阅地址:https://blog.csdn.net/yuan2019035055/category_11466020.html

  • 优点订阅限时9.9付费专栏进入千人全栈VIP答疑群,作者优先解答机会(代码指导、远程服务),群里大佬众多可以抱团取暖(大厂内推机会)!
  • 专栏福利简历指导、招聘内推、每周送实体书、80G全栈学习视频、300本IT电子书:Python、Java、前端、大数据、数据库、算法、爬虫、数据分析、机器学习、面试题库等等
    Python每日一练——第5天:闰年问题升级版
    Python每日一练——第5天:闰年问题升级版
免费资料获取,更多粉丝福利,关注下方公众号获取

Python每日一练——第5天:闰年问题升级版文章来源地址https://www.toymoban.com/news/detail-446359.html

到了这里,关于Python每日一练——第5天:闰年问题升级版的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • selenium升级版

    1.1原理 Selenium 是一个 Web 应用的自动化框架。 通过它,我们可以写出自动化程序,像人一样在浏览器里操作web界面。 比如点击界面按钮,在文本框 中输入文字 等操作。(相当于真正的浏览) 而且还能从web界面获取信息。 比如获取12306票务信息,招聘网站职位信息,财经网

    2024年01月16日
    浏览(35)
  • 爱心发射代码带名字升级版

    上次的爱心发射发出来之后,群友想问能不能把心爱的人名字放在爱心中间。 当然没问题啊,于是我就改了改代码,让女神王铁蛋显示在爱心中间,同时还可以在屏幕上飘动满屏的王铁蛋,大大小小、快快慢慢的王铁蛋。 这还拿不下王铁蛋? 话不多说,直接上效果图。 背景

    2024年02月11日
    浏览(36)
  • 爬虫练习-12306自动购票升级版

    hello兄弟们,偷懒归来了。别问为啥这么久没更,问就是失踪了 最近一直在学习Django以及爬虫进阶之类的知识,加上快期末了,一直没有想起来自己还有一个账号没有更新,sorry啦 言归正传,今天抽空把前面的文章升级了一下。这里先把整理好的代码提前放给大家 代码放上,

    2024年02月06日
    浏览(50)
  • C语言猜数字升级版

    题目概述 猜数字是一种益智游戏,既可以两个人一起玩,也可以与电脑一起玩。现在我们需要将这个游戏移到电脑上,让电脑与我们一起玩猜数字游戏. 需求分析 用户输入:确定用户输入的数据是否正确 游戏过程:保证计算机能正确选定一个随机数字,并能够正常与用户互

    2024年02月04日
    浏览(41)
  • 【Anaconda】jupyter notebook的升级版jupyter Lab4.0的安装配置,自学Python利器,你值得拥有!新工具你装了没?

    前几天,jupyter lab4.0已经发布,因为chatgpt的火爆,貌似都没太多人关注jupyter lab 新版本的发布这事了。 不过,如果你想自学Python,一定不要错过这个自学Python的利器。 我想每个Python程序员都会知道Jupyter Notebook 这个工具。 Jupyter Notebook 就像是一个神奇的“魔法记事本”,让你

    2024年02月12日
    浏览(56)
  • P1553 数字反转(升级版)(JAVA)

    以下为原题面,仅供参考: 给定一个数,请将该数各个位上数字反转得到一个新数。 这次与 NOIp2011 普及组第一题不同的是:这个数可以是小数,分数,百分数,整数。整数反转是将所有数位对调;小数反转是把整数部分的数反转,再将小数部分的数反转,不交换整数部分与小

    2024年02月13日
    浏览(29)
  • EasyExcel复杂表头导出(一对多)升级版

            在之前写的 EasyExcel复杂表头导出(一对多)的博客的结尾,受限于当时的能力和精力,留下一些问题及展望。现在写下此博客,目的就是解决之前遗留的问题。         背景介绍,见上述链接指向的博客,这里主要通过 自定义拦截器 的形式来完美解决。 对于图

    2024年02月06日
    浏览(47)
  • 云计算中网络基础知识(升级版)

    网络相连:电脑-交换机-电脑 需要配置两个地址:(1) IP地址、子网掩码、网关(网络的出口)。 (2) MAC 地址(物理地址)不需要配置,电脑网卡自带的(天生就有) 电脑必须要配置IP地址、子网掩码 才可以通信、网关可以不用(前提是两台电脑处在同一个网段下) 网关

    2023年04月27日
    浏览(33)
  • 【Unity+MySQL】实现注册登录系统(升级版)

    接着 上篇文章所谈到的系统缺陷,这篇文章进行升级解决。 问题 :注册界面与登录界面是同一个界面,导致用户输入用户密码进行注册后,即可点击登录。 解决 :在同一个场景中分别创建注册界面和登录界面,使用SetActive控制注册/登录成功后UI的显示与隐藏。 整体的UI框

    2024年02月09日
    浏览(36)
  • 洛谷-P1478-陶陶摘苹果(升级版)(贪心)

    又是一年秋季时,陶陶家的苹果树结了 n n n 个果子。陶陶又跑去摘苹果,这次他有一个 a a a 公分的椅子。当他手够不着时,他会站到椅子上再试试。 这次与 NOIp2005 普及组第一题不同的是:陶陶之前搬凳子,力气只剩下 s s s 了。当然,每次摘苹果时都要用一定的力气。陶陶

    2024年02月21日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包