不运用模块儿而是依赖循环,写一个2021年日历,要求是一行打印一个月,星期日在前,并且同时输出到txt文件中
2条回答 默认 最新
- chuifengde 2021-11-29 08:23关注
import datetime Width = 5 months = {'Jan': 31,'Feb': 28,'Mar': 31,'Apr': 30,'May': 31,'Jun': 30,'Jul': 31,'Aug': 31,'Sep': 30,'Oct': 31,'Nov': 30,'Dec': 31,} weekdays = ["Sun".center(Width), 'Mon'.center(Width), 'Tue'.center(Width), 'Wed'.center(Width), 'Thu'.center(Width), 'Fri'.center(5), 'Sat'.center(Width)] with open(r"calendar.txt", 'a') as f: for m, mv in enumerate(months.items(), 1): line = '' f.write(mv[0].center(Width *7)) f.write('\n') f.write(''.join(weekdays) + '\n') print(mv[0].center(Width *7)) print() print(''.join(weekdays)) for j in range(1, mv[1] + 1): curday = (datetime.datetime(2021, m, j).weekday() + 1) % 7 if j == 1: for _ in range(curday): print(''.center(Width), end='') line += ''.center(Width) if curday == 6: print(str(j).center(Width)) line +=str(j).center(Width) + '\n' else: print(str(j).center(Width), end='') line +=str(j).center(Width) f.write(line + '\n') print()
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录