Python 判断日期是一年中的第几天 (填空题)
程序员文章站
2024-03-16 14:26:34
...
分析:(第一部分)
date = input(“输入年月日(yyyy-mm-dd):”) ##输入年月日
y,m,d = (int(i) for i in date.split(’-’)) ## lambda表达式, 分为两部分,一是int(i)
指明是整数类型,二是:for i in date.split(’-’)),
前面规定y,m,d = 年,月,日 的形式,所以用date.split(’-’))
改成 年-月-日 的形式。i是指date里面的数据即(int(m), int(y),
int(d)) 。
(第二部分)
for i in range(1,int(m)):##判断月份,指输入的月份在不在(1,?)的区间,即填int(m)
接着判断输入的月份是否为2
if i = =2:
if y % 400==0 or (y % 100 != 0 and y % 4 == 0): ##判断闰年平年
提示:“公历闰年能被4整除且不能被100整除的为闰年(y % 100 != 0 and y % 4 == 0),或,世纪年能被400整除的则是闰年(y % 400 == 0)
sum +=29
else:
sum+=28
##判断是否为腊月
elif(i in special): ## 用if~elif ~else可满足多种条件的筛选
sum+=31
else:
sum+=30
##初始值sum=0,sun+=的形式是一个累加的过程,即i在哪个条件下成立,则sum
去累加谁。
(第三部分):
sum = sum+d ##叠加上述第sum,并加上输入第day
print("这一天是一年中的第%d天"%sum) ##%d ==%sum
if name == ‘main’: ##调用函数
main()
完整代码如下:
def main():
date = input(“输入年月(yyyy-mm-dd):”)
y,m,d = (int(i) for i in date.split(’-’))
sum =0
special = (1,3,5,7,8,10)
for i in range(1,int(m)):##判断月份即填int(m)
if i==2:
##判断闰年平年
if y % 400==0 or (y % 100 != 0 and y % 4 == 0):
sum +=29
else:
sum+=28
##判断是否为腊月
elif(i in special):
sum+=31
else:
sum+=30
sum = sum+d ##叠加上述第sum,并加上输入第day
print("这一天是一年中的第%d天"%sum)
if name == ‘main’:
main()
推荐阅读
-
Python 判断日期是一年中的第几天 (填空题)
-
Python编程判断这天是这一年第几天的方法示例
-
Python编程判断这天是这一年第几天的方法示例
-
ACM日期计算(C++实现):输入一个日期,格式如:2010 10 24 ,判断这一天是这一年中的第几天
-
C第三天任务//写一个判断这个日期是本年第几天的程序
-
python简单面试题:输入某年某月某日,判断这一天是这一年的第几天
-
(python)输入某年某月某日,判断这一天是这一年的第几天?
-
python练习题(一):输入某年某月某日,判断这一天是这一年的第几天
-
ACM日期计算(C++实现):输入一个日期,格式如:2010 10 24 ,判断这一天是这一年中的第几天
-
python简单面试题:输入某年某月某日,判断这一天是这一年的第几天