Pythonで夏休みの宿題をサクッと終えたい【一行日記編】

テクノロジー

一学期が終わり、子どもたち念願の夏休みが始まりました。
しかし、楽しいはずの夏休みには邪魔者も存在します。ご存じでしょうか。

宿題です。

最初のうちになるべく…だとか、コツコツ毎日やるんだ!などという気持ちも毎年途中で心折れ、
ラスト数日でどうにかするなんてこともしばしば。
そんな夏休みの宿題をどうにかプログラムの力で楽に終わらせてみましょう。
今回の題材は一行日記です。

一行日記は、一日の振り返りを20~30字程度で記す日記の課題です。「コツコツ毎日やるんだ」ができないんですから、毎日一行日記をつけるなんて芸当ができるはずがありません。
というわけで、今回は一行日記をプログラムに書いてもらってサクッと終わらせて、皆で遊びに行くことにしましょう。

一行日記のパーツを作る

# いつ
when = [
    "朝から",
    "午前中から",
    "昼から",
    "午後から",
    "夜から",
    "一日中",
]
# どこで
where = [
    "家で",
    "プールに行って",
    "海で",
    "キャンプに行って",
    "山で",
    "おばあちゃんの家にいって",
    "スーパーで",
    "友達の家で",
    "お祭りにいって",
    "映画館に行って"
]
# 誰が(誰と)
who = [
    "家ぞくで",
    "お兄ちゃんと二人で",
    "お姉ちゃんと二人で",
    "友だちと",
    "一人で",
]
# 何をした
what = [
    "おにごっこをしました。",
    "花火を見ました。",
    "ゲームをしました。",
    "けんかをしました。",
    "スイカを食べました。",
    "かき氷を食べました。",
    "虫取りをしました。",
    "テレビを見ました。",
    "キャンプファイヤーをしました。",
    "ぼんおどりをしました。",
    "何もせずごろごろしていました。",
]
# 感想
impression = [
    "楽しかったです。",
    "うれしかったです。",
    "おいしかったです。",
    "とても感動しました。",
]

日記を書く時の鉄則である5W1Hをベースにいくつかの要素のリストを用意しました。せっかく夏休みなので夏らしい内容を多めにしておきました。これで完璧な一行日記を作れるはずです!

あとはPythonに任せるだけ!

import random
from datetime import date, timedelta

start = date(2022, 7, 23)
weekday = "月火水木金土日"
for i in range(40):
    d = start + timedelta(days=i)
    s = "今日は"
    for l in random.sample([when, where, who], 2):
        s += random.choice(l)
    s += random.choice(what)
    if len(s) < 30:
        s += random.choice(impression)
    print(f"{d.isoformat()}({weekday[d.weekday()]}) \n{s}")

先に用意したパーツを組み合わせて7月23日から8月31日までの40日分の一行日記を自動で生成するコードです!要素をランダムに選択するほか、日本語は文節の順序の自由度が高いため、いつどこでだれがをランダムに順番を入れ替えることでより多様な文章を作ることに成功している(はずな)のです!

早く遊びに行きたいですから出力結果を確認しましょう!

出力結果

2022-07-23(土)
今日は一日中友だちとけんかをしました。とても感動しました。
2022-07-24(日)
今日は家で午後からおにごっこをしました。おいしかったです。
2022-07-25(月)
今日はお兄ちゃんと二人で朝から花火を見ました。楽しかったです。
2022-07-26(火)
今日は夜から家でおにごっこをしました。うれしかったです。
2022-07-27(水)
今日は昼からおばあちゃんの家にいってかき氷を食べました。おいしかったです。
2022-07-28(木)
今日は夜からスーパーでキャンプファイヤーをしました。うれしかったです。
2022-07-29(金)
今日はおばあちゃんの家にいってお兄ちゃんと二人でかき氷を食べました。
2022-07-30(土)
今日は家で一人でかき氷を食べました。とても感動しました。
2022-07-31(日)
今日はお兄ちゃんと二人で夜からぼんおどりをしました。おいしかったです。
2022-08-01(月)
今日は昼から山でけんかをしました。うれしかったです。
2022-08-02(火)
今日は午前中から海でおにごっこをしました。楽しかったです。
2022-08-03(水)
今日はプールに行って一人で何もせずごろごろしていました。とても感動しました。
2022-08-04(木)
今日はお祭りにいって朝からかき氷を食べました。おいしかったです。
2022-08-05(金)
今日は海で午前中からけんかをしました。うれしかったです。
2022-08-06(土)
今日は海で友だちとスイカを食べました。おいしかったです。
2022-08-07(日)
今日は映画館に行って一日中ゲームをしました。とても感動しました。
2022-08-08(月)
今日は友達の家で昼からぼんおどりをしました。楽しかったです。
2022-08-09(火)
今日は友達の家で家ぞくでキャンプファイヤーをしました。楽しかったです。
2022-08-10(水)
今日は午前中から海でかき氷を食べました。おいしかったです。
2022-08-11(木)
今日はお祭りにいって一人でスイカを食べました。おいしかったです。
2022-08-12(金)
今日は海で夜から虫取りをしました。楽しかったです。
2022-08-13(土)
今日は友だちと夜から花火を見ました。うれしかったです。
2022-08-14(日)
今日は家ぞくでおばあちゃんの家にいって虫取りをしました。楽しかったです。
2022-08-15(月)
今日はスーパーでお姉ちゃんと二人でおにごっこをしました。楽しかったです。
2022-08-16(火)
今日はお兄ちゃんと二人で山でテレビを見ました。うれしかったです。
2022-08-17(水)
今日は山で友だちとゲームをしました。とても感動しました。
2022-08-18(木)
今日は午後から山で虫取りをしました。楽しかったです。
2022-08-19(金)
今日はおばあちゃんの家にいって午前中から何もせずごろごろしていました。
2022-08-20(土)
今日は一人で一日中キャンプファイヤーをしました。うれしかったです。
2022-08-21(日)
今日は海で友だちとぼんおどりをしました。おいしかったです。
2022-08-22(月)
今日は昼からプールに行って虫取りをしました。とても感動しました。
2022-08-23(火)
今日は友達の家で家ぞくで虫取りをしました。おいしかったです。
2022-08-24(水)
今日はおばあちゃんの家にいって一人で虫取りをしました。うれしかったです。
2022-08-25(木)
今日は山で午後から虫取りをしました。うれしかったです。
2022-08-26(金)
今日はお兄ちゃんと二人で午後からゲームをしました。おいしかったです。
2022-08-27(土)
今日はおばあちゃんの家にいって朝から花火を見ました。うれしかったです。
2022-08-28(日)
今日は昼からお姉ちゃんと二人でかき氷を食べました。うれしかったです。
2022-08-29(月)
今日はお祭りにいって友だちとぼんおどりをしました。うれしかったです。
2022-08-30(火)
今日は家ぞくで友達の家で花火を見ました。うれしかったです。
2022-08-31(水)
今日は友だちと友達の家で虫取りをしました。おいしかったです。

成功です(?)
夜のスーパーで行うキャンプファイヤーや、プールでの虫取り、山で行うけんかなどなかなか香ばしい夏の思い出が誕生しました。

結論

一行日記はなるべく毎日書きましょう。

タイトルとURLをコピーしました