4#题目:输入某年某月某日,判断这一天是这一年的第几天?
代码:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
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))
|
运行结果:
|
1
2
3
4
5
6
7
8
9
10
11
12
|
[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]
#
|
代码解释:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
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
|
本文转自snc_snc 51CTO博客,原文链接:http://blog.51cto.com/netsyscode/1742993,如需转载请自行联系原作者