python3基础代码100例004

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")

对比思考

参考的代码对输入的月份和日期进行了判断的容错处理。我的代码中没有进行直接处理

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值