Python基礎練習之閏年判斷以及計算所在天數

2021-09-11 06:41:14 字數 2672 閱讀 1289

用函式實現輸入某年某月某日,判斷這一天是這一年的第幾天?閏年情況也考慮進去

(函式用的很少,**冗餘較高,只是練習了一下思路,後續仍需優化)

'''

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。說明 當試題指定你...