2016-05-15 13 views
-1

私はハングマンのゲームを作っています。私はあなたが推測している単語とあなたが記入した空白のリストを追跡するためにリストを使用します。しかし、例えば誰かの言葉がappleだった場合、私は何をすべきなのか分かりません、と私はpを推測しました。リストに2つの同一の文字列があるかどうかを確認する方法

私の即時の思考は手紙が二倍の単語である場合にだけ、それがどこにあるか、その後把握、見つけることだった、と彼らは推測したときにその文字は、その文字がある第一及び第二のスポットの両方にそれを置きます。しかし、私は見つけることができません

2つの文字列がリスト内に重複しているかどうかをテストする方法
  1. 、および
  2. 私は両方の位置を見つけるだけではなくする方法を重複文字がどこにあるかをテストするためにlist.indexを使用した場合1。
+0

はその助けをしていますか? –

+0

私の答えは、私は意味します。 –

答えて

0

1つの方法は、リストを1つずつ調べて、何かが2回現れるかどうかを確認することです。

def isDuplicate(myList): 
    a = [] 
    index = 0 
    for item in myList: 
     if type(item) == str: 
      if item in a: 
       return index 
      else: 
       a.append(item) 
     index += 1 
    return False 

この関数はリストを通って、それまでに見たものを別のリストに追加します。それが見ているアイテムがすでにそのリストに入っているかどうかをチェックするたびに、それは以前にすでに見られたことを意味します。重複なしでリスト全体を調べると、Falseが返されます。

それはまたそれが上にある指標を追跡し、それは重複を見つけない場合、それはそのインデックスを返すことができます。


代わりにあなたが与えられたた文字列の複数の出現を検索したい場合は、あなたはいくつかの変更と同じ構造を使用します。

def isDuplicate(myList, query): 
    index = 0 
    foundIndexes = [] 
    for item in myList: 
     if item == query: 
      foundIndexes.append(index) 
     index += 1 
    return foundIndexes 

これはmyListqueryすべてインスタンスのインデックスのリストを返します。

0
  1. 手紙にあなたの文字列を切り取り、リスト/配列
  2. にそれを維持するユーザの入力
  3. のための文字列を作成し、あなたの言葉
  4. のための文字列を作成し、文字に入力
  5. カット入力を取得し、
  6. 表示されたメッセージとして文字列= "--------"を作成
  7. forループを使用して両方の配列リストのすべての位置を確認し、それらを比較してください
  8. yourArray [i]を== inputArray場合は[i]が
  9. はその後displayedStringを変更[I] = inputArray [i]と表示メッセージ、それは休暇に合わせdoesntの場合は、別の入力
  10. を得る " - "
  11. を歌います表示された "--- - B" の文字列
関連する問題