判断当前的输入为当年的第几天

判断输入的日期是这年中的第几天 c语言编写 立即下载

代码经过测试,个人感觉没有什么问题,但由于个人的经验不足以及眼光不够,希望各位指正程序中的不足之处。
附上代码

def check():
    '''
    输入一个日期,格式为xxxx-xx-xx,判断这一天为当年的第几天
    '''
    print('输入一个日期,格式为(xxxx-xx-xx):', end='')
    data = input()
    if '-' not in data or data.count('-') != 2:
        print('请按照正确格式输入年月日')
        return check()
    else:
        str1 = data.split('-')  
        year = int(str1[0])  # 年
        month = int(str1[1])  # 月
        day = int(str1[2])  # 日

        if month < 1 or month > 13:
            print('月输入错误,请重新输入')
            return check()
        elif month in day31:  # 月的天数为31天
            if day > 31 or day == 0:
                print('日输入错误,该月只有31天,请重新输入')
                return check()
            else:
                if year % year % 4 == 0 and year % 100 != 0 or year % 40 == 0:  # 判断是否为闰年
                    print(year366[month - 1] + day)
                else:
                    print(year365[month - 1] + day)
        elif month in day30:  # 月的天数为30天
            if day > 30 or day == 0:
                print('日输入错误,该月只有30天,请重新输入')
                return check()
            else:
                if year % year % 4 == 0 and year % 100 != 0 or year % 40 == 0:  # 判断是否为闰年
                    print(year366[month - 1] + day)
                else:
                    print(year365[month - 1] + day)
        elif month == 2:
            if ((day <= 28 or (year % 4 == 0 and year % 100 != 0 and day < 29) or (year % 400 == 0 and day <= 29))):
                if year % year % 4 == 0 and year % 100 != 0 or year % 40 == 0:  # 判断是否为闰年
                    print(year366[month - 1]+day)
                else:
                    print(year365[month - 1]+day)
            else:
                print('日输入错误,2月最多29天,或者该年不是闰年,请重新输入')
                return check()
if __name__ == '__main__':
    day31 = [1, 3, 5, 7, 8, 10, 12]     #天数为31天的月份
    day30 = [4, 6, 9, 11]               #天数为30天的月份
    year365 = [0,31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365]     #平年每个月结束时的天数  365天
    year366 = [0,31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366]     #闰年每个月结束时的天数  366天(2月多一天)
    check()

更新一个小错误,判断闰年的时候都是闰年,现已经更正。

def check():
    '''
    输入一个日期,格式为xxxx-xx-xx,判断这一天为当年的第几天
    '''
    print('输入一个日期,格式为(xxxx-xx-xx):', end='')
    data = input()
    if '-' not in data or data.count('-') != 2:
        print('请按照正确格式输入年月日')
        return check()
    else:
        str1 = data.split('-')  
        year = int(str1[0])  # 年
        month = int(str1[1])  # 月
        day = int(str1[2])  # 日

        if month < 1 or month > 13:
            print('月输入错误,请重新输入')
            return check()
        elif month in day31:  # 月的天数为31天
            if day > 31 or day == 0:
                print('日输入错误,该月只有31天,请重新输入')
                return check()
            else:
                if year % 4 == 0 :  # 判断是否为闰年
                    print(year366[month - 1] + day)
                else:
                    print(year365[month - 1] + day)
        elif month in day30:  # 月的天数为30天
            if day > 30 or day == 0:
                print('日输入错误,该月只有30天,请重新输入')
                return check()
            else:
                if year % 4 == 0 :  # 判断是否为闰年
                    print(year366[month - 1] + day)
                else:
                    print(year365[month - 1] + day)
        elif month == 2:
            if ((day <= 28 or (year % 4 != 0 and day < 29) or (year % 4 == 0  and day <= 29))):
                if year % 4 == 0 :  # 判断是否为闰年
                    print(year366[month - 1]+day)
                else:
                    print(year365[month - 1]+day)
            else:
                print('日输入错误,2月最多29天,或者该年不是闰年,请重新输入')
                return check()
if __name__ == '__main__':
    day31 = [1, 3, 5, 7, 8, 10, 12]     #天数为31天的月份
    day30 = [4, 6, 9, 11]               #天数为30天的月份
    year365 = [0,31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365]     #平年每个月结束时的天数  365天
    year366 = [0,31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366]     #闰年每个月结束时的天数  366天(2月多一天)
    check()
判断输入天数为当年的第几天.zip 输入一个日期,格式为 年-月-日 ,判断这一天为当年的第几天? 例如:输入 2019-12-18 输出 352 立即下载

相关推荐

MATLAB 输入起始日期和天数,计算天数对应日期和星期几

MATLAB 输入起始日期和天数,计算天数对应日期和星期几

【MATLAB编程】输入一个日期的年、月、日,计算并输出这天是该年的第几天

输入一个日期的年、月、日,计算并输出这天是该年的第几天。

luminous-烁的博客 4024

matlab程序将年月日转换成当年的天数

通过matlab程序,实现日期转换成天数,例如2012年3月1日,输入2012 3 1,输出第61天,并且可以自动识别出闰年和非闰年,在碰上2012年这样的闰年时会自动在2月份加上一天,实测非常有效。

MATLAB常用日期和时间函数

在MATLAB中得到系统当前日期、时间也是经常用到的内容,由以下函数实现。 1.生成指定格式日期和时间 datestr-生成指定格式日期和时间,是字符型变量。  >> datestr(now) %其中now是获取当前日期和时间  ans =       30-Dec-2009 16:05:16  其中输出格式可由用户指定,共有31种格式,以下是第26种格式,其它格式见下表。

炎枫coeus的专栏 1655

JavaScript 书签脚本实战:腾讯/优酷/爱奇艺等5大视频站m3u8链接一键提取

本文详细介绍了如何使用JavaScript书签脚本一键提取腾讯视频、优酷、爱奇艺等五大视频平台的m3u8流媒体链接。通过分析播放器内部对象结构,开发者可以高效获取视频源文件,避免录屏画质损失。文章包含各平台适配方案、实战增强功能开发及企业级解决方案设计,帮助用户快速掌握这一实用技术。

weixin_27945229的博客 615

银河麒麟服务器操作系统V10SP2实战:基于vsftpd构建多角色精细化权限FTP服务

本文详细介绍了在银河麒麟服务器操作系统V10SP2上基于vsftpd构建多角色精细化权限FTP服务的实战指南。从环境准备、核心配置到多角色用户权限管理,全面解析了FTP服务的部署与优化技巧,特别针对企业级应用场景提供了安全加固和故障排查方案。

weixin_30312563的博客 358

判断某年某月是这一年的第几天(多种方法)

(1) 判断某年某月是这一年的第几天------方法1-----非函数调用方式   /*(1)判断某年月日是这一年的第几天----非函数调用形 判断某年某月某日这一年中是第几天。 程序分析:以2011年3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊       情况,闰年且输入月份大于3时需考虑多加一天。 程序实现:

smallgyy的专栏 4805

从零搭建AMESim与Matlab/Simulink联合仿真环境(2024版软件配置详解)

本文详细介绍了2024年最新版AMESim与Matlab/Simulink联合仿真环境的搭建与配置方法。从软件安装顺序、路径设置到编译器配置,逐步指导如何实现高效联合仿真,特别强调了版本兼容性和环境变量设置等关键细节,帮助工程师快速解决常见问题并优化仿真性能。

weixin_42538752的博客 740

【学习笔记】判断某年某月某天是当年的第几天?

判断某年某月某天是当年的第几天,需要注意的事项如下: 1、首先判断输入。        年月日均不能为负数。通用要求,月不能大于12,日不能大于31日。如果更严格,要求月份1、3、5、7、8、10、12的天数不能大于31,月份4、6、9、11的天数不能大于30,平年二月的天数不能大于28,闰年二月的天数不能大于29. 2、对于程序的实现,效率最高,最直接的方式就是使用switch-case语

quickily的专栏 2096

通达信K线主图指标公式实战:如何用颜色标记快速识别涨停与炸板信号

本文详细介绍了如何利用通达信K线主图指标公式,通过颜色标记快速识别涨停与炸板等关键信号。通过实战拆解公式源码,手把手教您构建直观的“视觉交易系统”,将复杂的K线形态转化为醒目的颜色信号,帮助投资者高效聚焦机会与风险,提升技术分析效率。

weixin_29302047的博客 1775

华三模拟器实战:3分钟搞定路由器DHCP地址池配置(附常见错误排查)

本文提供华三模拟器中路由器DHCP地址池的实战配置指南。通过分步详解,帮助用户在3分钟内完成基础设置,并深入讲解多地址池、中继配置等进阶应用。文章重点剖析了DHCP服务无法工作的常见原因,提供从客户端到服务器的系统性排错方法,助力快速定位并解决地址分配失败、获取参数错误等典型问题。

w1x2y3的博客 360

求某天是该年的第几天(matlab实现)

简单明了,排版美观。

m0_62600503的博客 2861

python基础:工作会用到的95%的基础python代码都在这了(万字详解!)

本文是一份Python编程语言的快速参考备忘单,涵盖了Python基础语法和常用数据类型。主要内容包括:Python入门指南(打印、变量声明)、内置数据类型(字符串、数值、列表、元组、集合、字典等)、控制结构(判断、循环)、函数定义、文件处理操作以及字符串操作方法(切片、循环遍历等)。这个备忘单特别适合初学者快速查阅Python基础语法,同时也提供了数据类型转换、f-string格式化字符串等实用技巧。通过简洁的代码示例展示了Python的基本语法规则和典型用法。

数据知道的博客 8164

js输入年月日--输入框 判断当前是当年的第几天

利用了switch的穿透原理 <input type="number" id="year">年 <input type="number" id="month">月 <input type="number" id="day">日 <button id="btn1">查询</button> <input type="number" id="tol">当前天 <script>

Ga_b_c的博客 1003

MZI and MI Optical Waveguide(马赫曾德与迈克尔逊光波导)

注意,这里的 “镜子” 并不是真的在波导中做一个镜子出来,而是通过使用一个 1x2 的 MMI 结构将 MMI 输出的两个端口连接起来形成一个 “宽带镜子”。对于这里形成镜子的详细原理,后面有时间了我们再做更加详细地介绍。,它由一个 splitter 构成和两个仿佛带有 “镜子” 的臂组成。相比较于 MZI,光波可以在它的臂中传输,最终从进光口处出去得到相长或者相消干涉,很明显,在。)的折射率,从而使得两个臂上产生的相位差值不同,最终得到相长或者相消干涉的结果。这里,给大家介绍一下。,它更像是一个折叠的。

u011699626的博客 2455

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

从输入的日期(如2008年12月12日)判断当前日期是当年的第几天

从输入的日期(如2008年12月12日)判断当前日期是当年的第几天   程序如下   1 r=0 #代表当年的第几天   2 year=int(input('please enter the year:'))   3 while True:   4     month=int(input('please enter the month:'))   5     if month&lt;1 or...

weixin_41750810的博客 380

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

输入某年某月某日,判断这一天是这一年的第几天?

题目:输入某年某月某日,判断这一天是这一年的第几天? 分析:这个程序主要问题在于月份31天和30天,以及二月份的闰年29天和平年28天问题,解决办法首先判断是平年还是闰年,确定二          月份的时间,然后用case选择语句,算出该月份以前的总天数,从三月份开始在加上2月份天数;本次设计程序也有一定局限                性, 需要输入合法时间,才能正确输出正确的

新风作浪的博客专栏 7万+

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

根据年月日判断第多少天,星期几

1. 根据年月日判断第多少天 Scanner是SDK1.5新增的一个类,可使用该类创建一个对象。 Scanner scanner=new Scanner(System.in);  然后scanner对象调用下列方法(函数),读取用户在命令行输入的各种数据类型   next.Byte(),nextDouble(),nextFloat,nextInt(),nextLine(),nextLong()...

Brave的博客 1056

用python解:输入某年某月某日,判断这一天是这一年的第几天?

用python解:输入某年某月某日,判断这一天是这一年的第几天?

fengzheng1232的博客 8213

python判断一天是一年的第几天_python简单面试题:输入某年某月某日,判断这一天是这一年的第几天...

python简单面试题:输入某年某月某日,判断这一天是这一年的第几天year = int(raw_input('please input year: '))month = int(raw_input('please input month: '))day = int(raw_input('please input day: '))months = (0,31,59,90,120,151,181,2...

weixin_39849930的博客 327

C++判断第几天

【问题描述】输入某年某月某日,判断这一天是这一年的第几天? 程序分析提示:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。 【输入形式】按照年月日输入三个数,分别表示年月日,2017 1 1 【输出形式】2017-1-1 is the first day 【样例输入】2017 2 1 【样例输出】2017-2-1 is the 32th day //判断第几天 #include <iostream> using n.

Shenrunchen的博客 2404

求日期是该年的第几天

输入三个数,分别为年、月、日,输出此日是该年的第几天。请实现以下功能:(威海精讯畅通)此日是该年的第XXX 天。

m0_72552116的博客 102

c语言编程判断月份多少天,C语言程序设计:输入年月日判断这是这一年中的第几天...

该楼层疑似违规已被系统折叠隐藏此楼查看此楼输入年月日并判断这是这一年中的第几天??#includetypedefstruct_DATE{intyear;intmonth;intday;}DATE;intleap(int);main(){inti,sum=0;intdays[]={31,28,31,30,31,30,31,31,30,31,30,31};DATEdate;da...

weixin_42535461的博客 669

python计算几周零几天_Python自定义函数计算给定日期是该年第几天的方法示例

Python中如何计算当前日期是今年第几周?九月请你对小编好一点八月对你怎么样心里没点数吗初学Python... 想实现一个功能,获取到当前时间,然后打印出这个时间的import datetimedatetime.datetime.now().isocalendar()返回结果是三元组(年号,第几周,第几天) 也可以分享任意一天的周序号 datetime.date(2014, 6, 8).isoc...

weixin_33594621的博客 1570

用户输入年月日,判断输入的日期是当年的第几天

//用户输入年月日,请输出是当年的第几天 console.log(请输入年份:); let inputYear = rs.question(); console.log(请输入月份:); let inputMonth = rs.question(); console.log(请输入日:); let inputDay = rs.question() - 0; //月份减1(累加当前月之前月份的天数) let temp = inputMonth - 1; // 总天数 let sum = inputDay; /

qq_47718360的博客 240
上一篇: K-近邻算法(KNN)
下一篇: 水仙花数的判断
xiao黄
xiao黄 优质创作者: 人工智能技术领域 优质创作者: 人工智能技术领域 领域专家: 数据科学与机器学习技术领域 领域专家: 数据科学与机器学习技术领域
博客等级 码龄8年 1万+粉丝 250原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiao黄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值