Python函数 循环-判断一年中的哪一天
2022/4/13 14:12:29
本文主要是介绍Python函数 循环-判断一年中的哪一天,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.编程:日期计算:输入某年某月某日,判断这一天是这一年的第几天? 1).程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第 几 天, 特殊情况,闰年且输入月份大于3时需考虑多加一天。 2).如果输入的月份大于12时提示错误,重新输入 3).如果月份为小月,天数大于30时提示错误,重新输入 4).如果月份为大月,天数大于31时提示错误,重新输入 5).如果年份为平年,2月天数大于28时提示错误,重新输入 6).如果年份为闰年,2月天数大于29时提示错误,重新输入 方法一:
y=int(input('year')) m=int(input('month')) d=int(input('day')) while True:#判断月份大于12或者小于1,共分两种情况:异常月份 正常月份 if m>12 or m<1: print('输错了月份') m=int(input('请重新输入月份')) if 1<=m<=12: break while True:#判断a:当月在大月时(2种情况) b:不在大月(异常日期 正常日期) if m in(1,3,5,7,8,10,12): if d>31 or d<1: print('输错了日期') d=int(input('请重新输入日期')) if 1<=d<=31: break else: if d > 30 or d < 1: print('输错了日期') d = int(input('请重新输入日期')) if 1 <= d <= 30: break while True:#判断a:闰年(2月两种情况:29天和异常日期)b平年(2月28天和异常日期) if y%4==0 and y%100!=0 or y%100==0 and y%400==0: if m==2: if d > 29 or d < 1: print('输错了日期') d = int(input('请重新输入日期')) if 1 <= d <= 29: break else: break else: if m==2: if d>28 or d<1: print('输错了日期') d = int(input('请重新输入日期')) if 1 <= d <= 28: break else: break #以上仅仅时判断输入条件,下面开始计算 if 1<=m<=12: for i in range(1,m):#循环累加前几个月的值 if i in(1,3,5,7,8,10,12):#分3种情况:大月,二月(平年28天,闰年29),其他月 d+=31 elif i==2: if y%100!=0 and y%4==0 or y%100==0 and y%400==0: d+=29 else: d+=28 else: d+=30 print(d)
方法二:
def getdays(): y=int(input('请输入年:')) runnian=False#闰年默认为假 if y%4==0 and y%100!=0 or y%400==0: runnian=True#闰年经过判断之后值可能会发生改变。 while True: m=int(input('请输入月:')) if m>12 or m<1: print('月输入的不合法,请重新输入') continue else: break while True: d=int(input('请输入日:')) if m in(1,3,5,7,8,10,12): if d>31 or d<1: print('日期输入的不合法,请重新输入!') continue else: break elif m==2: if runnian==True: if d>29 or d<1: print('日期输入的不正确,请检查!') continue else: break else: if d>28 or d<1: print('日期输入的不正确,请检查!') continue else: break else: if d>30 or d<1: print('输入的日期不合法,请重新输入!') continue else: break days=0 for i in range(1,m): if i in(1,3,5,7,8,10,12): days+=31 elif i==2: if runnian==True: days+=29 else: days+=28 else: days+=30 days+=d print('%d年%d月%d日是%d年的第%d天'%(y,m,d,y,days)) # getdays()
这篇关于Python函数 循环-判断一年中的哪一天的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-20Python编程入门指南
- 2024-12-20Python编程基础与进阶
- 2024-12-19Python基础编程教程
- 2024-12-19python 文件的后缀名是什么 怎么运行一个python文件?-icode9专业技术文章分享
- 2024-12-19使用python 把docx转为pdf文件有哪些方法?-icode9专业技术文章分享
- 2024-12-19python怎么更换换pip的源镜像?-icode9专业技术文章分享
- 2024-12-19Python资料:新手入门的全面指南
- 2024-12-19Python股票自动化交易实战入门教程
- 2024-12-19Python股票自动化交易入门教程
- 2024-12-18Python量化入门教程:轻松掌握量化交易基础知识