練習問題/解答例/カレンダー出力/Python
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[問題文>練習問題#i5e3e061]]
from calendar import monthrange, weekday
y = int(input('input year: '))
m = int(input('input month: '))
w = ' Mo Tu We Th Fr Sa Su'
D = monthrange(y, m)[1] # last day of the month
F = weekday(y, m, 1)
s = ' ' * (F+1) + ' '.join(map(str,range(1, 10))) + '...
print(w, end='')
for i, e in enumerate(s):
print(e, end='\n' if i % len(w) == 0 or (i+1) == len...
----
日付計算を自力で作るべきではないが、曜日暗算法である[[コ...
# Sunday = 0, Monday = 1, ...
def isleap(year):
return (year%4==0 and year%100!=0) or year%400==0
def anchorday(year):
return (2, 0, 5, 3)[year // 100 % 4]
def doomsday(year):
year2 = year % 100
tmp = (year2 + year2 % 2 * 11) // 2
return (7 - (tmp + tmp % 2 * 11) + anchorday(year))...
def weekday_month1st(year, month):
doom_dates = {1:3, 2:28, 3:14, 4:4, 5:9, 6:6, 7:11, ...
if isleap(year):
doom_dates[1] += 1
doom_dates[2] += 1
delta = 1 - doom_dates[month]
return (doomsday(year) + delta) % 7
def len_month(year, month):
if month in [2,4,6,9,11]:
return 30
elif month == 2:
return 28 + int(isleap(year))
else:
return 31
y = int(input('input year: '))
m = max(int(input('input month: ')) % 13, 1)
days = [0] * weekday_month1st(y, m) + [i+1 for i in rang...
grid = [days[row:row+7] for row in range(0, len(days), 7)]
styler = lambda x: f"{x:>2}" if 0 < x else " "
print(f"{f'{y}-{m:02}':^20}")
print("Su Mo Tu We Th Fr Sa")
print('\n'.join(' '.join(styler(date) for date in row) f...
終了行:
[[問題文>練習問題#i5e3e061]]
from calendar import monthrange, weekday
y = int(input('input year: '))
m = int(input('input month: '))
w = ' Mo Tu We Th Fr Sa Su'
D = monthrange(y, m)[1] # last day of the month
F = weekday(y, m, 1)
s = ' ' * (F+1) + ' '.join(map(str,range(1, 10))) + '...
print(w, end='')
for i, e in enumerate(s):
print(e, end='\n' if i % len(w) == 0 or (i+1) == len...
----
日付計算を自力で作るべきではないが、曜日暗算法である[[コ...
# Sunday = 0, Monday = 1, ...
def isleap(year):
return (year%4==0 and year%100!=0) or year%400==0
def anchorday(year):
return (2, 0, 5, 3)[year // 100 % 4]
def doomsday(year):
year2 = year % 100
tmp = (year2 + year2 % 2 * 11) // 2
return (7 - (tmp + tmp % 2 * 11) + anchorday(year))...
def weekday_month1st(year, month):
doom_dates = {1:3, 2:28, 3:14, 4:4, 5:9, 6:6, 7:11, ...
if isleap(year):
doom_dates[1] += 1
doom_dates[2] += 1
delta = 1 - doom_dates[month]
return (doomsday(year) + delta) % 7
def len_month(year, month):
if month in [2,4,6,9,11]:
return 30
elif month == 2:
return 28 + int(isleap(year))
else:
return 31
y = int(input('input year: '))
m = max(int(input('input month: ')) % 13, 1)
days = [0] * weekday_month1st(y, m) + [i+1 for i in rang...
grid = [days[row:row+7] for row in range(0, len(days), 7)]
styler = lambda x: f"{x:>2}" if 0 < x else " "
print(f"{f'{y}-{m:02}':^20}")
print("Su Mo Tu We Th Fr Sa")
print('\n'.join(' '.join(styler(date) for date in row) f...
ページ名: