【python】编程语言入门经典100例--4
admin
2023-01-28 13:20:00
0

  4#题目:输入某年某月某日,判断这一天是这一年的第几天?


代码:

  2 year = int(input('请输入年份:'))
  3 month = int(input('请输入月份:'))
  4 day = int(input('请输入日期:'))
  5 
  6 rmon = [31,29,31,30,31,30,31,31,30,31,30,31]
  7 
  8 pmon = [31,28,31,30,31,30,31,31,30,31,30,31]
  9 j = 0
 10 tmp = 0
 11 if ((year%4 == 0 and year%100 != 0) or year%400 == 0):
 12     for i in rmon:
 13         if (j < month):
 14             tmp += rmon[j]
 15             j += 1
 16         else:
 17             break
 18     print('你输入的年份是闰年,输入的时间是这一年的第%d天'%(tmp+day))
 19 else:
 20     for i in pmon:
 21         if (j < month):
 22             tmp += pmon[j]
 23             j += 1
 24         else:
 25             break
 26     print('你输入的年份是平年,输入的时间是这一年的第%d天'%(tmp+day))

运行结果:

[root@HK code_100]# python code_4.py
请输入年份:2016
请输入月份:4
请输入日期:20
你输入的年份是闰年,输入的时间是这一年的第141天
[root@HK code_100]# 
[root@HK code_100]# python code_4.py
请输入年份:2015
请输入月份:4
请输入日期:20
你输入的年份是平年,输入的时间是这一年的第140天
[root@HK code_100]#

代码解释:

  2 year = int(input('请输入年份:'))   #接收输入的日期,并且转换成int类型
  3 month = int(input('请输入月份:'))
  4 day = int(input('请输入日期:'))
  5 
  6 rmon = [31,29,31,30,31,30,31,31,30,31,30,31]  #闰年的每月天数
  7 
  8 pmon = [31,28,31,30,31,30,31,31,30,31,30,31]  #平年的每月天数
  9 j = 0
 10 tmp = 0
 11 if ((year%4 == 0 and year%100 != 0) or year%400 == 0):  #判断输入的年份为闰年
 12     for i in rmon:    #  for循环遍历整个rmon
 13         if (j < month):  #判断累加参数j小于输入的月份,如果j>month,没有必要累加这个月的天数
 14             tmp += rmon[j]   #符合条件的月份天数累加
 15             j += 1    #j=0 step为1递增
 16         else:
 17             break   # 当循环的月份大于输入的月份时跳出循环
 18     print('你输入的年份是闰年,输入的时间是这一年的第%d天'%(tmp+day))   #  格式化打印结果
 19 else:                                  
 20     for i in pmon:               # 与上面的代码解释相同,是平年的计算,差别在2月的天数
 21         if (j < month):
 22             tmp += pmon[j]
 23             j += 1
 24         else:
 25             break
 26     print('你输入的年份是平年,输入的时间是这一年的第%d天'%(tmp+day))
 27


相关内容

热门资讯

关于二手烟,校园里一场微妙的“... 入学第一天,尚萌萌看到学校里很多人叼着烟。第二天一早,他打开宿舍门,看到对面墙角蹲着一个人在吸烟,走...
意大利再现“弗洛伊德案”,梅洛... 【环球时报驻意大利特约记者 李欣怡】意大利博洛尼亚近日出现骚乱,一名叫法基尔的摩洛哥裔男子在警察执法...
“处”改“科”、“科”改“股”... 澎湃新闻记者 蒋子文澎湃新闻注意到,近期,江苏省高邮市、涟水县等县级行政区的多个机关单位相继宣布规范...
女子参加聚会遭猥亵,男子获刑1... 近日,一位来自广东的陈女士(化名)反映称,去年多年未见的初中同学孔某趁她聚餐醉酒、丧失反抗能力之机,...
美军被疑隐瞒对伊作战伤亡 【环球时报综合报道】美国国防部21日发表声明说,一名美军士兵17日在伊朗针对位于约旦的穆沃费格萨勒提...
OpenAI模型“越狱”攻击,... 一家美国公司遭到美国AI攻击,而提供保护的竟是一款中国人工智能工具。AI工具平台Hugging Fa...
南航第十二架C919国产大飞机... 广州7月21日电 (记者 郭军)7月21日,一架尾号为B-659G的国产大飞机飞抵广州白云国际机场,...
无人艇第一股,要来了 那个被资本追捧的“无人艇第一股”,要来了。 2017年冬天的一个夜晚,港珠澳大桥附近的海面上,81条...
三一锂能取得电池包专利提升电芯... 国家知识产权局信息显示,三一锂能有限公司取得一项名为“电池包”的专利,授权公告号CN22453717...
价格为何下滑?市场竞争力为何不... 记者采访西瓜种植主产区河南开封等地如何种得好,又能卖得好(经济聚焦)本报记者 常 钦 《人民日报》(...