独学プログラマー Python言語の基本から仕事のやり方まで その9
第10章 知識を一つにまとめる
これまでに学んだ内容を元にハングマンという言葉当てゲームを作ります。
コードでは当てられた文字を"$"で置き換えるので、catが正解のとき、tと入力したあとに"$"と入力すると、表示される文字が"$"に置き換えられてしまいます。なので、エスケープ処理のようなものを記述する必要があると思いました。
コード
import random def hangman(word): wrong = 0 stages = ["", "______ ", "| ", "| | ", "| 0 ", "| /|\ ", "| | ", "| / \ " ] rletters = list(word) board = ["_"] * len(word) win = False print("ハングマンへようこそ!") while wrong < len(stages) - 1: print("\n") msg = "1文字を予想してね>" char = input(msg) if char in rletters: cind = rletters.index(char) board[cind] = char rletters[cind] = '$' else: wrong += 1 print(" ".join(board)) e = wrong + 1 print("\n".join(stages[0:e])) if "_" not in board: print("あなたの勝ち!") print(" ".join(board)) win = True break if not win: print("\n".join(stages[0:wrong+1])) print("あなたの負け!正解は {}.".format(word)) words = ["dog", "cat", "orange", "apple", "grape"] key = words[random.randint(0, len(words) - 1)] hangman(key)
感想
基本的なPythonの使用を学んだので、Pythonを使って何か書きたいと思うんですが、良い題材が見つからないんですよね。機械学習を学ぶときに使うと思います。