利用Python函式實現乙個萬曆表完整示例

2022-10-03 18:48:10 字數 2303 閱讀 5892

大家可以根據格式化列印字元去調一下最後的輸出,不過有中文好像不好調整,可以換成星期的單詞,這樣應該會好一點,format()函式可以用來格式化列印字元,format()可以使用字串去呼叫,也可以獨自使用。

可以點進格式化列印字元了解一下哦

# 判斷是否閏年

def isleap(year):

return year % 4 == 0 and year % 100 != 0 or year % 400 == 0

# 判斷月的天數

def month_days(year,month):

if month in [1,3,5,7,8,10,12]:

return 31

if month == 2:

if isleap(year):

return 29

else:

return 28

return 30

# 2023年到輸入年份的總天數

def totawww.cppcns.coml_days(year):

s = 0

for i in range(1900,year):

if isleap(i):

s += 366

else:

s += 365

return s

# 1月到輸入月份的天數

def days(year,month):

s = 0

for i in range(1,month):

s += month_days(year,i)

return s

# 獲取某年某月的日曆

def monthcalendar(year,month):

total = total_days(year) + days(year, month)

a = total % 7

print('星期日'.center(8, ' '), end='')

print('星期一'.center(8, ' '), end='')

print('星期二'.center(8, ' '), end='')

print('星期三'.center(8, ' '), end='')

print('星期四'.center(8, ' '), end='')

print('星期五'.center(8, ' '), end='')

print('星期六'.center(8, ' '), end='')

print(程式設計客棧)

count = 0

for i in range(0, month_days(year, month) + a + 1):

if i <= a:

print(format(' ','10'), end='')

count += 1

else:

print(format(str(i - a),'^10'), end='')

count += 1

ifwww.cppcns.com count == 7:

count = 0

print()

print()

# 輸出某年一年的日曆

def yearcalenda程式設計客棧r(year):

for i in range(1,13):

print(f'月:')

monthcalendar(year,i)

print()

# 開始函式

def start():

while true:

print('-------歡迎來到萬曆表查詢頁面-------')

print('1.查詢某年的日曆\n2.查詢某年某月的日曆\n3.退出查詢')

print('---------------------------------')

n = int(input('請輸入你的操作:'))

if n == 1:

year = int(input('請輸入要查詢的年份:'))

yearcalendar(year)

elif n == 2:

year = int(input('請輸入要查詢的www.cppcns.com年份:'))

month = int(input('請輸入1-12:'))

monthcalendar(year,month)

elif n == 3:

print('退出成功')

break

else:

print('指令錯誤,請重新輸入!!!')

if __name__ == '__main__':

start()

練習 利用函式實現乙個註冊系統

def register print 歡迎進入註冊系統 center 30,while 1 user name input 請輸入姓名 strip user pwd input 請輸入密碼 strip if user name or user pwd print 使用者名稱或密碼不正確,請重新輸入 ...

python 利用yield實現乙個非同步請求

importtime defconsumer name print s準備吃包子了!name while true baozi yieldprint 包子 s來了,被 s吃了!baozi,name defproducer name c consumer a c2 consumer b c.next ...

利用CoreAnimation實現乙個時間的進度條

那麼接下來就是如何用coreanimation實現乙個進度條控制項了。首先呢,讓我們建立乙個繼承自cashapelayer的wkprogressbarlayer。wkprogressbarlayer預設自身的bounds就是整個進度條的大小。inte ce wkprogressbarlayer ca...