2016-05-15 6 views
-1

Я делаю игру палача. Я использую список для отслеживания слова, которое вы угадываете, и список пробелов, которые вы заполняете. Но я не могу понять, что делать, если, например, чье-то слово было apple, и я догадался p.Как проверить, есть ли две одинаковые строки в списке

Мое непосредственное размышление состояло в том, чтобы просто найти букву в слове дважды, затем выяснить, где она находится, и когда они догадываются, что это письмо помещено как в первое, так и в второе место, где находится эта буква. Но я не могу найти

  1. Как проверить, если две строки являются дубликатами в списке, и
  2. Если бы я должен был использовать list.index, чтобы проверить, где повторяющиеся буквы, как я считаю, обе позиции, а не просто один.
+0

Помогло ли это? –

+0

Мой ответ, я имею в виду. –

ответ

0

Один из способов сделать это - пройти через список один за другим и проверить, если что-то появляется дважды.

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 

Это возвращает список индексов всех экземпляров query в myList.

0
  1. Создание строки для слова
  2. Создания строки для ввода данных пользователя
  3. Сократите строку в буквы и сохранить его в списке/массив
  4. Получить вход
  5. входа Нарезать буквы и сохраните его на другом массиве
  6. Создайте строку = "--------" как показано сообщение
  7. Использование цикла for проверяет каждую позицию в обоих списках массивов и сравнивает их
  8. Если yourArray [я] == inputArray [я]
  9. Затем измените displayedString [я] = inputArray [я] и отображение сообщений затем получить другой вход
  10. Если он не простился матч "-" поет
  11. Отображается строка «--- a-b»
Смежные вопросы