私はこのコードに遭遇しましたが、私は1つの問題があります。私はそれを実行すると、週末の日曜日の後に空白を残します。 "Mo Tu We Th Fr Sa Su"、そこにある空白を取り除く手助けが必要です。私は.replaceと.splitを使ってみましたが、これまでのところ助けにはなりませんでした。ありがとうございました。リスト上の空白を取り除くPython
calendar1 = [('January', range(1, 31 + 1)),
('Feburary', range(1, 28 + 1)),
('March', range(1, 31 + 1)),
('April', range(1, 30 + 1)),
('May', range(1, 31 + 1)),
('June', range(1, 30 + 1)),
('July', range(1, 31 + 1)),
('August', range(1, 31 + 1)),
('September', range(1, 30 + 1)),
('October', range(1, 31 + 1)),
('November', range(1, 30 + 1)),
('December', range(1, 31 + 1))]
week = ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su']
def make_calendar(year, start_day):
# Determine current starting position on calendar
start_pos = week.index(start_day)
for month, days in calendar1:
# Print month title
print('{0} {1}'.format(month, year).center(20, ' '))
# Print Day headings
print(''.join(['{0:<3}'.format(w) for w in week]))
# Add spacing for non-zero starting position
print('{0:<3}'.format('')*start_pos, end='')
for day in days:
# Print day
print('{0:<3}'.format(day), end='')
start_pos += 1
if start_pos == 7:
# If start_pos == 7 (Sunday) start new line
print()
start_pos = 0 # Reset counter
print('\n')
yr=int(input('Enter Year'))
strtday=input('Enter start day of the year Mo,Tu,We,Th,Fr,Sa,Su')
make_calendar(yr,strtday)
文字列に対して "strip()"メソッドを使用すると、両端の空白が削除されます。 – tmwilson26
最後の文字を削除するにはstr [0:-1]を使用してください – Setop
リストにstrip()を使用することはできません。 str [0:-1]と同じです。 – Jaakkath