0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Python】娘(当時1歳半)との尊い会話シミュレーター

Last updated at Posted at 2022-07-26

概要

娘(当時1歳半)との尊い会話のシミュレーターを、Pythonで再作成しました。

ExcelVBAバージョンはこちら。

コード

import random

words = ["ばなな", "もも", "すいか", "りんご", "ぱんだ",
"いぬ", "ねこ", "たこ", "いか", "なっとう"]
n = random.randint(1,6)  #1-6でランダム

for i in range(n):  #質問を最大6回繰り返す
    nani = input("なーにーなーにー? >>")

    if nani == "":  #空白の場合、再度質問
        continue
    elif nani in words:  #単語リストに存在する場合、応答
        print(nani + "")
    else:  #単語リストに存在しない場合
        yesno = input("? (y/n)>>")

        if yesno == "y":  #yを押すと単語リストに追加
            words.append(nani)
            print(nani + "")  #単語リストに追加後、応答

実行結果(n=6)

なーにーなーにー? >>たこ
たこ!
なーにーなーにー? >>えび
? (y/n)>>y
えび!
なーにーなーにー? >>ひとで
? (y/n)>>n
なーにーなーにー? >>えび
えび!
なーにーなーにー? >>
なーにーなーにー? >>おしまい
? (y/n)>>y
おしまい!

※終了時のwords:
['ばなな', 'もも', 'すいか', 'りんご', 'ぱんだ', 'いぬ', 'ねこ', 'たこ', 'いか', 'なっとう', 'えび', 'おしまい']

まとめ

  • リストとの照合・リストへの追加は、Pythonの方が圧倒的にラクでした。
  • 変数を定義せずに、As Variantな感じで使えるのもラクです。
  • やりとりがコマンドラインなので、VBAの時より見栄えはよくないです。VBAの見た目を再現するには、ウィンドウを表示するモジュール(tkinter)を追加する必要があるようです。
  • 今回のプログラムは、一度終了すると単語リストも初期化されてしまいます。単語リストを別ファイルで保持して、初期化されないバージョンも作成してみたいと思いました。
  • 娘は2歳半になり、覚えている単語はすでに相当な数になっているし、文章である程度会話もできます。子どもの成長は驚くべきスピードですね。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?