练习题题目:输入某年某月某日,判断这一天是这一年的第几天?(Python)
我是刚接触python一周的新手,发现网上的代码都跟这个不一样,我也不会太高级的算法,只是按文字意思想出来的。
while True:
print('*'*50)
print('输入年月日我们将判断这是一年中的第几天?')
print("-"*50)
# 输入年月日
y = int(input('请输入年份:'))
d = int(input('请输入月份:'))
r = int(input('请输入日期: '))
print('*'*50)
# 定义闰年2月是29天,否则2月是28天
dd_num = [31,29,31,30,31,30,31,31,30,30,31,30]
d_num = [31,28,31,30,31,30,31,31,30,30,31,30]
# 定义全局变量x
x = 0
# 规定月份不能大与12,否则告诉用户'月份不正确,请重新输入'
if d <= 12:
# 同理,不能超过31天
if r <= 31:
if y%4 == 0:
# 当年份为闰年,取余数为0,使用dd_num列表遍历
for i in range(0,d-1):
x += dd_num[i]
else:
# 否则使用d_num遍历
for i in range(0,d-1):
x +=d_num[i]
print('这是第%d天.' % (x+r))
break
else:
print('您输入的日期不对,请重新输入。')
else:
print('您输入的月份不正确,请重新输入。')