終於還有乙個星期就放暑假了,可以抽出時間來學點新的東西,想想半年多沒登csdn差點把密碼忘了我也是醉了。
廢話不多說,正文開始
以下是使用幾個簡單的函式實現給定指定年月實現當月日曆輸出的程式,大部分內容引用自網易雲課堂哈工大開設的python程式設計入門函式一章的課後作業。
程式設計圖如下:
自下往上看:
is_leap_year 判斷是否為閏年
get_num_of_days_in_month 獲得每月的天數
get_total_num_of_days 獲得自2023年1月1日以來經過的天數
get_start_day 獲得每月1日為星期幾
print_month_body 列印日曆的數字部分
get_month_name 獲得每月的名稱
print_month_title 列印日曆標題與頭部部分
具體實現如下:
# coding=utf-8
__author__ = 'leonard'
def is_leap_year(year):
# 判斷是否為閏年
if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
return true
else:
return false
def get_num_of_days_in_month(year, month):
# 給定年月返回月份的天數
if month in (1, 3, 5, 7, 8, 10, 12):
return 31
elif month in (4, 6, 9, 11):
return 30
elif is_leap_year(year):
return 29
else:
return 28
def get_total_num_of_day(year, month):
# 自2023年1月1日以來過了多少天
days = 0
for y in range(1800, year):
if is_leap_year(y):
days += 366
else:
days += 365
for m in range(1, month):
days += get_num_of_days_in_month(year, m)
return days
def get_start_day(year, month):
# 返回當月1日是星期幾,由1800.01.01是星期三推算
return 3 + get_total_num_of_day(year, month) % 7
# 月份與名稱對應的字典
month_dict =
def get_month_name(month):
# 返回當月的名稱
return month_dict[month]
def print_month_title(year, month):
# 列印日曆的首部
print ' ', get_month_name(month), ' ', year, ' '
print '-------------------------------------'
print ' sun mon tue wed thu fri sat '
def print_month_body(year, month):
列印日曆正文
格式說明:空兩個空格,每天的長度為5
需要注意的是print加逗號會多乙個空格
i = get_start_day(year, month)
if i != 7:
print ' ', # 列印行首的兩個空格
print ' ' * i, # 從星期幾開始則空5*幾個空格
for j in range(1, get_num_of_days_in_month(year, month)+1):
print '%4d' %j, # 寬度控制,4+1=5
i += 1
if i % 7 == 0: # i用於計數和換行
print ' ' # 每換行一次行首繼續空格
# 主函式部分
year = int(raw_input("please input target year:"))
month = int(raw_input("please input target month:"))
print_month_title(year, month)
print_month_body(year, month)
執行示例:
實現起來難度不大,只是在格式控制上需要花點心思,具體詳見print_month_body函式的注釋。
第一次用python編了乙個有八十行的程式,希望大家多多指教。
python實現輸出日曆
終於還有乙個星期就放暑假了,可以抽出時間來學點新的東西,想想半年多沒登csdn差點把密碼忘了我也是醉了。廢話不多說,正文開始 以下是使用幾個簡單的函式實現給定指定年月實現當月日曆輸出的程式,大部分內容引用自網易雲課堂哈工大開設的python程式設計入門函式一章的課後作業。程式設計圖如下 自下往上看 ...
PHP輸出日曆 PHP實現日曆效果
mdays date t 當月總天數 datenow date j 當日日期 monthnow date n 當月月份 yearnow date y 當年年份 計算當月第一天是星期幾 wk1st date w mktime 0,0,0,monthnow,1,yearnow trnum ceil md...
python日曆教程 基於python實現簡單日曆
首先要理清楚邏輯,日曆的難點在於如何使用基礎知識將周幾與對應的日期進行對應,我這裡利用了1917年1月1日為星期1,計算累計到我們要查詢的月份的天數來確定所查詢月份的第一天為週幾.輸出日曆介面 print 50 print 歡迎使用 天天日曆 v2.0 接收使用者輸入的年份 year int int...