用函式實現輸入某年某月某日,判斷這一天是這一年的第幾天?閏年情況也考慮進去
(函式用的很少,**冗餘較高,只是練習了一下思路,後續仍需優化)
'''
while true:
n = input("請輸入年份:")
n = int(n)
if n % 400 == 0 :
print("判斷為閏年")
elif n % 4 == 0 and n % 100 != 0:
print("判斷為閏年")
else:
print("不是閏年")
'''def day(a):
if a == 1:
result = 0
return result
elif a == 2:
result = 31
return result
elif a == 3:
result = 31 + 28
return result
elif a == 4:
result = 31 * 2 + 28
return result
elif a == 5:
result = 30 + 31 * 2 + 28
return result
elif a == 6:
result = 31 * 3 +30 + 28
return result
elif a == 7:
result = 30 *2 + 31 * 3 + 28
return result
elif a == 8:
result = 30 *2 + 31 * 4 + 28
return result
elif a == 9:
result = 30 *2 + 31 * 5 + 28
return result
elif a == 10:
result = 30 *3 + 31 * 5 + 28
return result
elif a == 11:
result = 30 *3 + 31 * 6 + 28
return result
elif a == 12:
result = 30 *4 + 31 * 6 + 28
return result
i = 0
while true:
n = input("請輸入年月日,例如20160818:")
while len(n) != 8:
print("格式錯誤!")
n = input("請輸入年月日,例如20160818:")
else:
m =
for i in n:
a = m[0]+m[1]+m[2]+m[3]#年份
b = m[4]+m[5]#月份
c = m[6]+m[7]#日期
a = int(a)
b = int(b)
c = int(c)
if a % 400 == 0 and b < 12 and c <31:
#print(a%400)
print("判斷為閏年")
day_nums = day(b) + c
if b >= 2:
day_nums += 1
print("此日是今年第%d天"%day_nums)
elif a % 4 == 0 and a % 100 != 0 and b < 12 and c <31:
#print("a",a % 400)
print("判斷為閏年")
day_nums = day(b) + c
if b >= 2:
day_nums += 1
print("此日是今年第%d天" % day_nums)
elif b > 12 or c >31:
print("日期錯誤,請檢查")
else:
#print("b",a % 400)
day_nums = day(b) + c
print("不是閏年")
print("此日是今年第%d天" % day_nums)
#print(type(a))
執行結果:
請輸入年月日,例如20160818:20161001
判斷為閏年
此日是今年第275天
請輸入年月日,例如20160818:18811010
不是閏年
此日是今年第283天
請輸入年月日,例如20160818:llll
格式錯誤!
請輸入年月日,例如20160818:20160101
判斷為閏年
此日是今年第1天
請輸入年月日,例如20160818:20160131
不是閏年
此日是今年第31天
請輸入年月日,例如20160818:20160229
判斷為閏年
此日是今年第61天
請輸入年月日,例如20160818:20161301
日期錯誤,請檢查
請輸入年月日,例如20160818:20160101
判斷為閏年
此日是今年第1天
基礎練習 閏年判斷
基礎練習 閏年判斷 時間限制 1.0s 記憶體限制 256.0mb 錦囊1 錦囊2 錦囊3 問題描述 給定乙個年份,判斷這一年是不是閏年。當以下情況之一滿足時,這一年是閏年 1.年份是4的倍數而不是100的倍數 2.年份是400的倍數。其他的年份都不是閏年。輸入格式 輸入包含乙個整數y,表示當前的年...
基礎練習 閏年判斷
基礎練習 閏年判斷 時間限制 1.0s 記憶體限制 256.0mb 問題描述 給定乙個年份,判斷這一年是不是閏年。當以下情況之一滿足時,這一年是閏年 1.年份是4的倍數而不是100的倍數 2.年份是400的倍數。其他的年份都不是閏年。輸入格式 輸入包含乙個整數y,表示當前的年份。輸出格式 輸出一行,...
基礎練習 閏年判斷
問題描述 給定乙個年份,判斷這一年是不是閏年。當以下情況之一滿足時,這一年是閏年 1.年份是4的倍數而不是100的倍數 2.年份是400的倍數。其他的年份都不是閏年。輸入格式 輸入包含乙個整數y,表示當前的年份。輸出格式 輸出一行,如果給定的年份是閏年,則輸出yes,否則輸出no。說明 當試題指定你...