前提・実現したいこと
独学プログラマーのp134~p139にあるハングマンというゲームのコードを本通りのに入力してもうまく実行できません。
発生している問題・エラーメッセージ
wrong が関数だと思い込んでいたのですがエラーを見るとwrongを定義しないといけないようですがどのように定義するのかわかりません。
NameError Traceback (most recent call last) <ipython-input-8-e00cf3f2a9cc> in <module> 20 21 ---> 22 while wrong < len(stages)-1: 23 print("\n") 24 msg="一文字を予想してね" NameError: name 'wrong' is not defined
該当のソースコード
python3.9 jupyter notebookで実行しました
def hangman(word): wrong=0 stages=["", "__________ ", "| ", "| ", "| | ", "| 0 ", "| /|\ ", "| / \ ", "| " ] rletters=list(word) board=["_"]*len(word) win = False print("ハングマンへようこそ!") while wrong < len(stages)-1: print("\n") msg="一文字を予想してね" 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)) hangman("cat")
試したこと
word="cat"と入力したりしていじってみました。数時間いじってもさっぱりわかりません。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/17 01:24