python3基础代码100例004
例4:输入某月某日,判断这一天是一年的第几天?
分析过程:
将小于当月的月份日期累加再加上当月的日期即可得到结果。
结合002例的代码,我们可以想到使用循环来判断如果月份小于当前月份,把小于的月份的天数全部相加。
本人的代码如下:
month = [12,11,10,9,8,7,6,5,4,3,2,1]
day = [31,30,31,30,31,31,30,31,30,31,28,31]
mon =int(input("请输入月份:"))
days = int(input('请输入日期:'))
sum__Days =0
for i in range(len(month)):
if month[i]<mon:
sum__Days= sum__Days+day[i]
elif month[i]==mon:
sum__Days =sum__Days+days
else:
continue
print("这是一年中的第",sum__Days,"天")
这是我给出的代码。
参考的别人给的答案是使用字典来处理对应关系。
dic = {1:31,2:28,3:31,4:30,5:31,6:30,7:31,8:31,9:30,10:31,11:30,12:31}#用字典的方式来对应月份和天数最合适不过了,不用考虑位置的问题。
x = int(input('请输入月份:',))
y = int(input('请输入日期:',))
r=0
if x in range(1,13) and y in range(1,dic[x]):
for i in range(1, 13):
if i<x:
r+=dic[i]
print("这是年度第",r+y,"天")
else:
print("error")
对比思考
参考的代码对输入的月份和日期进行了判断的容错处理。我的代码中没有进行直接处理