【ページ更新日:2020年9月23日】
毎日Pythonでは、毎日簡単なPythonのプログラムコードを紹介していきます。
今日のプログラム
今日のコード
コードは次の通りです。
どのようなプログラムか考えてみてください。
def hangman(word):
wrong = 0
stages = ["",
"_________ ",
"| | ",
"| | ",
"| o ",
"| /|\ ",
"| / \ ",
"| "
]
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("you win!")
print(" ".join(board))
win = True
break
if not win:
print("\n".join(stages[0:wrong+1]))
print("you lose、正解は{}.".format(word))
hangman("kometomo")
Pythonはインテンド(行頭のスペース)がズレるだけでエラーの原因になります。
コピペする場合は次のコードからしてください。
コードのURLはコチラです。
今日のポイント
- list
- len
- while
- input
- if
- index
- else
- index
- join
- not
- format
今日の出力
今日の出力は次の通りです。
ハングマンゲームを始めます!
予想する1文字を入力してください >>> o
_ o _ _ _ _ _ _
予想する1文字を入力してください >>> e
_ o _ e _ _ _ _
予想する1文字を入力してください >>> o
_ o _ e _ o _ _
予想する1文字を入力してください >>> k
k o _ e _ o _ _
予想する1文字を入力してください >>> m
k o m e _ o _ _
予想する1文字を入力してください >>> t
k o m e t o _ _
予想する1文字を入力してください >>> o
k o m e t o _ o
予想する1文字を入力してください >>> m
k o m e t o m o
you win!
k o m e t o m o
これは勝ちパターンです。
次が負けパターンです。
ハングマンゲームを始めます!
予想する1文字を入力してください >>> q
_ _ _ _ _ _ _ _
_________
予想する1文字を入力してください >>> q
_ _ _ _ _ _ _ _
_________
| |
予想する1文字を入力してください >>> q
_ _ _ _ _ _ _ _
_________
| |
| |
予想する1文字を入力してください >>> q
_ _ _ _ _ _ _ _
_________
| |
| |
| o
予想する1文字を入力してください >>> q
_ _ _ _ _ _ _ _
_________
| |
| |
| o
| /|\
予想する1文字を入力してください >>> q
_ _ _ _ _ _ _ _
_________
| |
| |
| o
| /|\
| / \
予想する1文字を入力してください >>> q
_ _ _ _ _ _ _ _
_________
| |
| |
| o
| /|\
| / \
|
_________
| |
| |
| o
| /|\
| / \
|
you lose、正解はkometomo.
今日のコードの説明
このプログラムは「ハングマン」というゲームです。
ハングマンのルール
- 設定された文字列(今回はkometomo)を一文字ずつ当てていきます
- 文字が当たると、その文字が表示されます。
- 文字が外れると、ハンガーマンのアイコンが表示されていきます。
- ハンガーマンが全て表示されるとプレイヤーの負けです。
- その前に、文字を全て当てるとプレイヤーの勝ちです。