python求輸入某年某月某日,判斷這一天是這一年的第幾天
阿新 • • 發佈:2019-01-11
方法一:
""" 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)