見出し画像

Python(ハングマン)Vol2

def hangman(word):
  wrong= 0
  stages= ["",
           "______________         ",
           "|                      ",
           "|              |       ",
           "|              o       ",
           "|            / | \     ",
           "|             / \      "
           ]
  releters= list(word)
  boarad= ["_"]* len(word)
  win=False
  print("ハングマンにようこそ!")

  while wrong > len(stages) -1:
      ms="一文字入力して下さい"
      ans=input(ms)
      
      if ans in releters:
          answear=releters.index(ans)
          boarad[answear]= ans    #boarad   にある入力された文字のところを入力された物に変える(同じ文字だが違う物)
          releters[answear]= "$"
      
      else:
          wrong +=1
      print("".join(boarad))
      x=wrong+ 1
      print("\n".join(stages[0:x]))
  

      if "_" not in boarad:
          print("正解!あなたの勝ち!!")
          print("".join(boarad))
          win= True
          break
      if not win:
          print("\n".join(stages[0:x]))
          print("残念!!あなたの負け!正解は{}.".format(word))

hangman("apple")

これは、前回と同じコードですので。

今回は前回の続きで
・変数宣言
・比較演算
・繰り返し処理
繰り返し処理はいくつか種類がありますが今回使っているのはWhileなのでこの記事ではWhileのみ紹介しますが、また他のもまとめて紹介したいと思います。

・変数宣言
 変数宣言とは、そのままの意味でユーザーが任意で設定することが出来る値を変数として宣言することです。
 変とは言っても数以外の文字列なども変数として宣言することが出来ます。
やり方と言っても何もないですけど一応

変数名= 値

これだけです。具体例は

num1= 7
word= "apple"

これだけです。少し気を付けたいのは文字列を入れるときはダブルクオーテーションで囲う事が必要です。
次に紹介する比較演算でも紹介しますが、変数宣言で使っているイコールは同じという意味合いで考えるのではなく、代入ッとという認識でいたほうが分かりやいと思います。
結構頻繁に使っていますが、2つだけ完成形の中から紹介します。

ms="一文字入力して下さい"
ans=input(ms)

これは上記したように文字列を代入したmsという変数を宣言しその変数を使いansという変数を宣言しています。因みにinput関数は利用者(この場合プレイヤー)が入力したものをそのまま受け取る関数です。これも詳しい書き方は後述します。

・比較演算
 比較演算これも特に説明することもなくそのまま、小学校や中学校の算数、数学でやった>や<のような記号を使います。使われ方としては、if文などの条件式で使われれます。

if x>4:

if x>=4

などのように使われます。
上記で=は同じという意味でなく代入と説明しましたが、同じという意味では==と二つ重ねることでイコールとして使うことが出来ます。

・繰り返し処理
 繰り返し処理とはその名の通りただ同じ処理を繰り返し行う事です。
今回使ったWhileは条件式が満たされている間繰り返し行われます。

x= 10
while x>0:
    proint("Xは正")
    x-=1

これは、xが正の間のみ実行されます。
この場合だとxを1づつ減らしているので10回のループを行いループが終わります。減らしていかなければ永遠に続いていきます。

この記事が気に入ったらサポートをしてみませんか?