久しぶりの記事の投稿です。
記事を上げていない間にちょっとずつ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)
----しりとりスタート!
しりとり
ひらがなを入れてください:りす
次のターンです。
ひらがなを入れてください:すり
次のターンです。
ひらがなを入れてください:りす
この単語は既に使われています。あなたの負けです。
実行結果を少し省きましたが、最初に触れた三つのルール通りにしりとりを作ることができました。
でも、このコードだとカタカナが含まれていないし、ひらがなの小文字を含む単語の時に困ってしまうというところが難点です。
そういうところを克服してさらに精度を上げたいですが、まだちょっと難しそうです(笑)