Python スキルアップ 技術ログ

毎日Python_2日目

【ページ更新日: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)を一文字ずつ当てていきます
  • 文字が当たると、その文字が表示されます。
  • 文字が外れると、ハンガーマンのアイコンが表示されていきます。
  • ハンガーマンが全て表示されるとプレイヤーの負けです。
  • その前に、文字を全て当てるとプレイヤーの勝ちです。

  • この記事を書いた人
  • 最新記事

Maita Tomoya / yone

2020.4~Webアプリケーションエンジニアとして都内の企業で働き、空いている時間でブログを運営している29歳男です。本ブログは情報の整理をするため、文章を書く機会を作るために始めました。1記事でも多く「誰かのためになる記事」を書けるように頑張ります!転職前は地方の高校で働いていました。教育関係の記事も定期的に書いていきたいと思います。

-Python, スキルアップ, 技術ログ