Python实例练习4

题目:输入某年某月某日,判断这一天是这一年的第几天?

#!/usr/bin/python
#-*- coding:UTF-8 -*-
year = int(input("Year:"))
month = int(input("Month:"))
day = int(input("Day:"))
days = 0
months = [0,31,59,90,120,151,181,212,243,273,304,334]
days = months[month - 1] + day
if (year % 400 ==0)and(year % 4 == 0)and(year % 100 != 0):
    if month > 2:
        days += 1
print(days)

没有加上错误日期输入判断了

可以优化下

#!/usr/bin/python
#-*- coding:UTF-8 -*-
a = [1,3,5,7,8,10,12]
b = [4,6,9,11]
year = int(input("Year:"))
month = int(input("Month:"))
while month > 12:
    print("Data Error!")
    month = int(input("Input Month Again:"))
day = int(input("Day:"))
flag = 1
while flag:
    for i in range(0,6):
        if month == a[i] and day > 31:
            flag = 0
    for i in range(0,3):
        if month == b[i] and day >30:
            flag = 0
    if month == 2:
        if (year % 400 ==0)and(year % 4 == 0)and(year % 100 != 0):
            if day > 29:
                flag = 0
        else :
            if day >28:
                flag = 0
    if flag:
        break
    if not flag :
        print("Data Error!")
        day = int(input("Input Day Again:"))  
days = 0
months = [0,31,59,90,120,151,181,212,243,273,304,334]
days = months[month - 1] + day
print(days)
优化版本。。。

你可能感兴趣的:(Python)