【python】编程语言入门经典100例--4
更新:HHH   时间:2023-1-7


  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


返回开发技术教程...