1. 程式人生 > >python求輸入某年某月某日,判斷這一天是這一年的第幾天

python求輸入某年某月某日,判斷這一天是這一年的第幾天

方法一:

"""
3、輸入某年某月某日,判斷這一天是這一年的第幾天
"""
year = int(input("請輸入年分:"))
month = int(input("請輸入月份:"))
day = int(input("請輸入日:"))
count = 0
if month == 1:
    count = day
elif month == 2:
    count = 31 + day
elif month == 3 and ((year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)):
    if month == 3:
        count = 31 + 29 + day
    if month == 4:
        count = 31 + 29 + 31 + day
    if month == 5:
        count = 31 + 29 + 31 + 30 + day
    if month == 6:
        count = 31 + 29 + 31 + 30 + 31 + day
    if month == 7:
        count = 31 + 29 + 31 + 30 + 31 + 30 + day
    if month == 8:
        count = 31 + 29 + 31 + 30 + 31 + 30 + 31 + day
    if month == 9:
        count = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + day
    if month == 10:
        count = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + day
    if month == 11:
        count = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + day
    if month == 12:
        count = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + day
else:
    if month == 3:
        count = 31 + 28 + day
    if month == 4:
        count = 31 + 28 + 31 + day
    if month == 5:
        count = 31 + 28 + 31 + 30 + day
    if month == 6:
        count = 31 + 28 + 31 + 30 + 31 + day
    if month == 7:
        count = 31 + 28 + 31 + 30 + 31 + 30 + day
    if month == 8:
        count = 31 + 28 + 31 + 30 + 31 + 30 + 31 + day
    if month == 9:
        count = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + day
    if month == 10:
        count = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + day
    if month == 11:
        count = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + day
    if month == 12:
        count = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + day

print("公共%d天" % count)

方法二:

print("-" * 20)
import datetime
result = datetime.datetime(year, month, day)
# 用來格式化時間,%j 用來表示天數
print(result.strftime("%j"))

方法三:

"""
3、輸入某年某月某日,判斷這一天是這一年的第幾天
"""
year = int(input("請輸入年分:"))
month = int(input("請輸入月份:"))
day = int(input("請輸入日:"))

    
print("-" * 20)
day += (month-1) * 30
if month < 9:
    day += month//2
else:
    day += (month+1)//2

if month > 2:
    if year%400 ==0 or year%4 == 0 and year%100 !=0 :
        day -= 1
    else:
        day -= 2
print("是一年的第%d天"%day)