0

ボード ゲーム MasterMind に似たゲームの練習用コードを作成していますが、このエラーが何度も発生し、なぜそれが行われているのかわかりません。コードは次のとおりです。

def Guess_Almost (Guess, Answer):
    a = ''.join([str(v) for v in Answer])
    g = str(Guess)
    n = 0
    am = 0
    while n < 5:
        if g[n] == a[0]:
            am = am + 1
        if g[n] == a[2]:
            am = am + 1
        if g[n] == a[3]:
            am = am + 1
        if g[n] == a[3]:
            am = am + 1
        n = n + 1
    return(am)

さて、Guess は 4 つの整数に指定されており、Answer は 4 つの数値を含むリストです。どちらもコードの後に​​同じ「len」があるため、手がかりがありません。

このコードのポイントは、Answer を 4 つの数字の文字列に変換し、これらの数字のいずれかが推測と一致するかどうかを確認し、一致する合計数を返すことです。

4

1 に答える 1

0

これが役立つかどうかを確認してください

def Guess_Almost (Guess, Answer):

   a = ''.join([str(v) for v in Answer])
   g = str(Guess)
   n = 0
   am = 0
   if len(g) >= 5 and len(a) >=4:
     while n < 5:
        if g[n] == a[0]:
           am = am + 1
        if g[n] == a[2]:
           am = am + 1
        if g[n] == a[3]:
            am = am + 1
        if g[n] == a[3]:
          am = am + 1
         n = n + 1
  return(am)
于 2013-02-14T16:59:15.540 に答える