-
2021-11-10 00:35:24
1 问题
输入年、月、日,要求输出该年份的元旦到该日期总共经过了多少天。(提示:闰年是指能被400整除的年份或者能被4整除但不能100整除的年份)
示例:
输入:2017,2,1
输出:334
2 方法
这里提到一种简单的计算方法,使用python第三方库datetime库,并调用datetime库里面的方法对日期进行设置,首先使用
a, b, c = map(int,input().split(","))进行年月份输入。
这里将input里面输入的结果以逗号隔开,再将隔开后的值转换成int类型并分别赋值给a,b,c。使用map函数, 将输入的值调用int函数转换成整型。
datetime库里面设置日期的方法是datetime.date(year,month,day)
date里面的分别对应年月日。
已经输入年月日之后,就要找到元旦当天的日期,如输入的是,2017,2,1
那下一次元旦节就是2018,1,1。所以可以对元旦节当天进行date()日期设置,
设置的值为:data(),里面的参数分别对应上述,输入的年加1,月为1,日为1。
然后直接进行做差,找到距下一次元旦的天数。
3 实验结果与讨论
通过实验、实践等证明提出的方法是有效的,是能够解决开头提出的问题。
代码清单
更多相关内容 -
你生日的那天宇宙
2020-12-21 18:57:51【导语】:近日NASA发布了一个很有趣的活动,在你生日的那天哈勃望远镜看到的是一片什么样的宇宙? 美国NASA在1990年将哈勃太空望远镜送上宇宙。多年来,哈勃望远镜在太空里拍取了许多珍贵的图像,今年是哈勃望远镜... -
第九届JAVA大学C组 那天返回省赛 第一题
2020-02-04 10:19:08那天返回 第九届省赛JAVA大学C组第一题 小明被不明势力劫持。后被扔到x星站再无问津。 小明得知每天都有飞船飞往地球,但需要108元的船票 ,而他却身无分文。他决定在x星战打工。 好心的老板答应包食宿,第1天给他1...小明被不明势力劫持。后被扔到x星站再无问津。
小明得知每天都有飞船飞往地球,但需要108元的船票
,而他却身无分文。他决定在x星战打工。
好心的老板答应包食宿,第1天给他1元钱。
并且,以后的每一天都比前一天多2元钱,直到他有足够的钱买票。
请计算一下,小明在第几天就能凑够108元,返回地球。要求提交的是一个整数,表示第几天。请不要提交任何多余的内容。
public class Main { public static void main(String[] args) { int money = 1; //小明天工资 int days = 0; //小明工作日 int count = 0; //小明总工资 while (count < 108) { //总工资小于地球车票108元时,一直循环!! count = count + money; //总工资等于前一天总工资加第一天工资 money = money + 2; //以后的每一天都比前一天多2元钱 days++; //天数相加起来,方便最后统计。 } System.out.println(days); //输出天数,结果是11天!!! } } 最开始一直想着要用for循环,然后就……嗯,不对…… 他们的关系想明白了,一用代码就捋不清楚了-.-# 还是多刷题吧,刷题使人快乐!!!!
时隔俩月,我居然用for循环做出来了?哈哈哈哈哈哈~~
public class Main { public static void main(String[] args) { int money = 1; int ans = 0; for (int i = 0; i <= 20; i += 2) { money = 1; ans += money; } System.out.println(ans); } }
-
根据输入的出生日期计算到今天之间的天数
2021-04-14 11:54:52import java.time.LocalDate; import java.time.Period;... * 根据输入的出生日期计算到今天之间的天数 * * @author silence */ public class Demo1 { public static void main(String[] args) { Scann.import java.time.LocalDate; import java.time.Period; import java.time.format.DateTimeFormatter; import java.util.Scanner; /** * 根据输入的出生日期计算到今天之间的天数 * * @author silence */ public class Demo1 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-M-d"); //起始日期 LocalDate start; //当天的日期 LocalDate end = LocalDate.now(); while (true) { System.out.println("请输入你的生日(列:1970-01-01):"); String next = scanner.next(); try { start = LocalDate.parse(next, formatter); Period between = Period.between(start, end); int day = (between.getYears() * 365) + (between.getMonths() * 30) + between.getDays(); if (day <= 0) { System.out.println("输入的日期不能大于等于当天的日期"); continue; } System.out.println("你从出生到现在经历了" + day + "天"); break; } catch (Exception e) { System.out.println("-----输入了错误的日期格式-----"); System.out.println(); } } } }
-
python 入门学习-输入日期判断天数
2019-07-26 16:04:29输入某年某月某日,判断这一天是这一年的第几天,主要是牵扯到 月份不同 天数不一样,年份不同分闰年和平年只分 闰年判断,四年一润,百年不润 四百年再润 if ((year % 4 == 0) and(year % 100 != 0)) or (year %...输入某年某月某日,判断这一天是这一年的第几天,主要是牵扯到 月份不同 天数不一样,年份不同分闰年和平年只分
闰年判断,四年一润,百年不润 四百年再润
if ((year % 4 == 0) and(year % 100 != 0)) or (year % 400 == 0 ) : days+=1)
1.通过本节主要学习 元组,列表,集合,字 典 的使用
a) 元组(tuple)是特殊的序列类型
1. 一旦创建不能修改,使得代码更安全,使用逗号和圆括号来表示 如(2,4,6,8) (‘read’,‘green’,'blue')
2.访问方式和列表相同
3.一般用于表达固定数据项。函数多返回值等情况
元组中的元素可以是不同的类型 ,元组的各样元素存在先后关系,可以通过索引访问元组中的元素
""" 作者: 版本:v1.0 功能:输入年月日 判断是一年中的第几天 日期:20190726 使用元组的方式和列表两种方式,其中元组方式 已经注释 """ from _datetime import datetime def main(): input_data_str = input('请输入日期(yyyy/mm/dd):') input_data = datetime.strptime(input_data_str, '%Y/%m/%d') print(input_data_str) year = input_data.year month = input_data.month day = input_data.day # 计算之前月份的天数总和使用元组的方式实现 # days_in_month_tub =(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31) # days = sum(days_in_month_tub[:month-1]) + day # if (year % 400 == 0 ) or ((year % 4 == 0) and(year % 100 != 0)): # days += 1 # 计算之前月份的天数总和使用列表的方式实现 days_in_moth_lis = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] # 判断是否是闰年 if (year % 400 == 0 ) or ((year % 4 == 0) and(year % 100 != 0)): days_in_moth_lis[1] = 29 days = sum(days_in_moth_lis[:month - 1]) + day print('这是第{}天'.format(days)) if __name__ == '__main__': main()
参考代码:使用元组和列表实现的功能
参考代码使用集合实现功能
""" 作者: 版本:v2.0 功能:输入年月日 判断是一年中的第几天 日期:20190726 使用集合方式实现 if i in _30_days_month_set: # 表示判读 i 是否在集合 _30_days_moth_set 中 """ from _datetime import datetime def main(): input_data_str = input('请输入日期(yyyy/mm/dd):') input_data = datetime.strptime(input_data_str, '%Y/%m/%d') print(input_data_str) year = input_data.year month = input_data.month day = input_data.day # 计算之前月份的天数总和使用集合的方式实现 _30_days_month_set = {4,6,9,11} _31_days_month_set = {1,3,5,7,8,10,12} days = 0 days += day for i in range(1, month): if i in _30_days_month_set: days += 30 elif i in _31_days_month_set: days += 32 else: days += 28 # 判断是否是闰年 if (year % 400 == 0 ) or ((year % 4 == 0) and(year % 100 != 0)): days += 1 print('这是{}年 第{}天'.format(year, days)) if __name__ == '__main__': main()
参考代码使用字典实现功能
""" 作者: 版本:v3.0 功能:输入年月日 判断是一年中的第几天 日期:20190726 使用字典方式实现 """ from _datetime import datetime def main(): input_data_str = input('请输入日期(yyyy/mm/dd):') input_data = datetime.strptime(input_data_str, '%Y/%m/%d') print(input_data_str) year = input_data.year month = input_data.month day = input_data.day # 计算之前月份的天数总和使用字典方式实现 # 月份 天数 字典 month_day_dict = {1: 31, 2: 28, 3: 31, 4: 30, 5: 31, 6: 30, 7: 31, 8: 31, 9: 30, 10: 31, 11: 30, 12: 31} days = 0 days += day # # 判断是否是闰年 # if (year % 400 == 0 ) or ((year % 4 == 0) and(year % 100 != 0)): # month_day_dict[2]=29 # else: # month_day_dict[2]=28 # for i in range(1, month): # days+= month_day_dict[i] # 判断是否是闰年 if (year % 400 == 0 ) or ((year % 4 == 0) and(year % 100 != 0)): days+=1 for i in range(1, month): days+= month_day_dict[i] print('这是{}年 第{}天'.format(year,days)) if __name__ == '__main__': main()
-
JavaScript练习-----计算自己出生那天是该年的第几天
2019-04-18 19:25:51//计算天数,m月出生则循环到m-1月,最后在加上m月的天数也就是d。 var i , sum = 0 ; for ( i = 1 ; i m - 1 ; i ++ ) { sum += parseInt ( dayArr [ i - 1 ] ) ; } sum += ... -
小时天数换算(小时换算成天数怎么算)
2021-02-11 22:56:17把小时换算成天数的公式是什么?谢谢用小时除以24就等于天数1660:30 换算成天,怎么用函数换算啊?8小时/天 万分感谢。=(MID(A1,1,FIND(":",A1)-1)+MID(A1,FIND(":",A1)+1,4)/6)/81小时60分钟,1分钟60秒1小时=... -
完整程序计算天数C++
2009-08-15 11:19:51完整程序。。输入年月日得到天数。 get_day 自己写的。HOHO~ -
获取连续登陆天数,连续签到天数 ,方法优化
2021-01-19 17:16:15获取连续登陆天数,连续签到天数,类似这样的需求应该是一个常见的需求,那么我们有...第一步重现问题:连着登陆了好几个账号到个人中心,打开都不慢呀 ,那是什么问题呢,就你一个人出问题,是你人品差吧,正当打... -
js计算两个日期得天数,有时候少一天得问题
2020-06-16 14:59:15昨天有个需求,需要计算两个日期之间得天数,然后根据天数去算每日利息,这个我找一找前台js封装得方法,竟然没有这个,那自己上百度搜一个封装一下就好了啊 最后经过百度,就自己按照这边得数据写了一个方法,方法... -
C++计算任意两个日期的天数差
2020-03-13 00:47:38萌新上路,为了完成这个实验题,摸索了好几天,好不容易调试完成,基本没啥问题了,发出来纪念一下。无论是算法还是语句都还有很多值得改进之处,望各位不吝赐教! 先说一下思路: 1.计算天数差的难点在于闰年,解决... -
Mysql统计近30天的数据,无数据的填充0
2021-03-10 14:34:44Mysql统计近30天的数据,无数据的填充0。 这个应该是我们在做统计分析的时候,经常遇到的一个需求。 先说一般的实现方式,就是按照日期进行分组,但是这样会有一个问题,如果数据库表中有一天没有数据,那么是统计... -
7-9 计算天数及星期值 (10分)
2020-08-12 13:18:09你知道你生日那天是星期几吗,你知道你爸爸生日那天是星期几吗?你可能会说:可以查万年历啊。然而,不查万年历你能计算出来吗? 编程序实现:输入任意一个日期的年、月、日的值,求出从公元1年1月1日到该日期前一年... -
为什么通达信没有连涨天数,我的通达信怎么没有连涨天数显示
2021-05-26 02:52:16条件连续上涨三天,涨幅2%以下,谢谢条件选股-------走势特征选股----选连涨数天------加入条件---确定Q3::通达信软件怎样才能显示涨跌天数怎么设置显示涨跌天数我不知道,但我可以用公式实现在k线上,或者在,... -
怎么把日期转换为天数
2020-12-24 04:09:491. 在EXCEL中如何把天数转为年月日,年月日转为天数在EXCEL中把天数转为年月日具体步骤如下:1、第一步,电脑打开Excel表格,如下图所示。2、第二步,电脑打开Excel表格后,输入公式=INT(I16/365)&"年"&INT(... -
表格当中把天数换算成月怎么
2021-01-17 01:06:471. 在EXCEL中如何把天数转为年月日,年月日转为天数在EXCEL中把天数转为年月日具体步骤如下:1、第一步,电脑打开Excel表格,如下图所示。2、第二步,电脑打开Excel表格后,输入公式=INT(I16/365)&"年"&INT(... -
SQL实现连续登录天数和最大登录天数
2021-10-21 10:21:46问题延伸:连续登录3天的用户,用户最大登录天数等 sheet1表中给定字段用户id,登录时间date,如下表: 1、清洗数据 由于是对连续登录天数的计算,这里精确到了时分秒 SELECT id,date(date) time from sheet1 GROUP... -
mysql查询上月天数/当月第一天/上月第一天
2016-09-17 17:38:38select (DATEDIFF(DATE_ADD(curdate(), INTERVAL - DAY(curdate())+ 1 DAY), date_add(curdate()- DAY(curdate())+ 1, INTERVAL -1 MONTH))) 上月总天数 , DATE_ADD(curdate(),interval -day(curdate())+1 day) ... -
记录情侣在一起天数的软件 很火的情侣天数记录软件
2021-07-01 04:55:36记录情侣在一起的天数是非常有意义,而且市面上有很多为情侣设计的APP,接下来我们就来看看记录情侣在一起天数的软件以及很火的情侣天数记录软件。一、记录情侣在一起天数的软件 很火的情侣天数记录软件1、一半较新版... -
时间戳减时间戳获取天数
2021-05-12 19:08:49time1 这里注意一下 是从今天的00:00:00开始计算的 onShow:function(){ // 当前日期 let time1 = new Date(new Date().getFullYear()+'-' + (new Date().getMonth() +1) + '-' + new Date().getDate()).getTime();... -
【力扣-动态规划入门】【第 1 天】1137. 第 N 个泰波那契数
2022-01-04 14:22:20天数:第一天,第2/2题 泰波那契序列 Tn 定义如下: T0 = 0, T1 = 1, T2 = 1, 且在 n >= 0 的条件下 Tn+3 = Tn + Tn+1 + Tn+2 给你整数 n,请返回第 n 个泰波那契数 Tn 的值... -
关于日历:Java计算一年中的天数
2021-03-12 20:04:56我正在计算两个日期之间的天数,例如,距离我生日还剩多少天。 我要考虑到year年2月29日。 除了那29号,我都做完了。另一种方法是向Calendar类询问给定年份的实际最大天数:Calendar cal = Calendar.getInstance();c... -
根据天数计算具体日期
2016-09-03 17:17:53那如果通过天数计算具体的日期呢? 下面给出计算源码(Python版本): Python3下运行通过def is_leap_year(year): # 判断闰年的方法是该年能被4整除且不能被100整除,或者是可以被400整除 if ( -
Hive 统计连续天数
2020-04-14 22:15:221 3,2020/2/8,1 第三步:统计连续天数 -- 表A是核心,统计每个uid的所有连续打卡天数 select uid, continue_days from ( -- 分组后标注连续天数的从高到低的排序 select *,row_number() over(partition by uid order... -
js获取某月的天数以及某天的前一个日期和后一天日期
2016-02-02 10:57:46我勒个擦…....首先一个函数:获取某月的天数 //某月的天数 function DayNumOfMonth(Year, Month) { return ((new Date(Year, Month, 0).getDate())); }好滴。 使用方法:DayNumOfMonth(2016,1) 就是得 -
日期相减之后的天数怎么用公式计算 - 卡饭网
2020-12-20 13:58:43如何在Excel中得到两个日期相减的天数如何在Excel中得到两个日期相减的天数 有的小伙伴在使用Excel软件时,想要知道两个日期相减后的天数,但是却不知道使用什么公式,也不知道公式中的数据的含义,那么小编就来为大家... -
HDU1201求出生到18岁生日总天数
2017-08-15 14:28:2218岁生日 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 33556 Accepted Submission(s): 10909 Problem Description Gardon的18岁生日就要到 -
连续登录天数计算
2019-09-24 13:44:32最近有个需求,计算用户连续登录的最大天数,查了查网上的解决方案,基本上都没有解决跨月和跨年的情况;废话不多少,先看下登录日志数据表hive.traffic.access_user只有两个字段:uid,day;日期辅助表hive.ods.dim_... -
c语言编写程序,输入某年某月,求该月的天数
2021-05-21 02:22:44c语言编写程序,输入某年某月,求该月的天数#包括voidmain(){年、月、日;请输入当前日期(年月以空格分隔): ';中国年月而(月=0 | |月12){cout '输入时间有误,请重新输入:';中国年月{}切换(月({case4:case6:case8:... -
Javascript 计算请假天数
2020-01-03 15:30:53计算请假天数,笼统来说就是计算两个日期的差值。对于JS来说,两个时间直接相减,得到的是这两个时间差的毫秒数。 先上代码后贴图。 1.测试数据 后文中用到的测试数据如下: var dateStart = '2018-12-01 04:15...