1
2

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 3 years have passed since last update.

Pythonでしりとりを実装

Posted at

久しぶりの記事の投稿です。
記事を上げていない間にちょっとずつPythonの勉強を進めていたので、何となくPythonやプログラミングの感覚が掴めてきた気がします。

そこで、しりとりを作ってみようと思い実装してみました。
しりとりを作る上で、
・前の単語の最後の文字を引き継ぐ。=「しりとり」
・既に使った単語は使えない。
・「ん」で終わったら負け。
この三つのルールを守ることができるように留意しました。

word_chain.py
hiragana_1 = "しりとり"
used_hiragana = []
print("しりとりスタート!\n", hiragana_1)

while True:
    hiragana_2 = str(input("ひらがなを入れてください: "))
    if hiragana_2[0] != hiragana_1[-1]:
        print("最初の文字が間違っています。")
        break
    elif hiragana_2 in used_hiragana:
        print("この単語は既に使われています。あなたの負けです。")
        break
    elif hiragana_2[-1] == "":
        print("これは「ん」で終わる単語です。あなたの負けです。")
        break
    else:
        used_hiragana.append(hiragana_1)
        used_hiragana.append(hiragana_2)
        hiragana_1 = hiragana_2
        print("次のターンです。")

(実行結果1)
----しりとりスタート
     しりとり
    ひらがなを入れてください:りんご
    次のターンです
    ひらがなを入れてください:ごりら
    次のターンです
    ひらがなを入れてください:つばめ
    最初の文字が間違っています
(実行結果2)
----しりとりスタート
     しりとり
    ひらがなを入れてください:りす
    次のターンです
    ひらがなを入れてください:すり
    次のターンです
    ひらがなを入れてください:りす
    この単語は既に使われていますあなたの負けです

実行結果を少し省きましたが、最初に触れた三つのルール通りにしりとりを作ることができました。
でも、このコードだとカタカナが含まれていないし、ひらがなの小文字を含む単語の時に困ってしまうというところが難点です。
そういうところを克服してさらに精度を上げたいですが、まだちょっと難しそうです(笑)

1
2
2

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
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?