difflib.get_close_matches () – получение желаемого результата

Основной смысл программы – начать со списков имен сотрудников, а затем отсортировать их. Подождите, пока пользователь введет «конец», чтобы прекратить заполнять список имен (у меня есть 100 имен, я сократил это для примера). Впоследствии пользователь может ввести имя сотрудника, и программа запустит difflib.get_close_matches ().

Вот вопрос; Я получаю синтаксическую ошибку для get_close_matches. Как я должен вводить difflib по-другому? Также; если у вас есть советы по повышению эффективности кода, пожалуйста, укажите, как и почему он более эффективен. Я довольно неопытен с Python, так что будьте осторожны, а?

ПРИМЕР КОДА:

import difflib employeeNames = ['Colton','Jayne','Barb','Carlene','Dick','Despina'] employeeNames.sort() endInput = input('Type "end" to view list of names.\n\n') if endInput == "end": userEmpName = input("Please enter the employee name you're searching for. We'll return the best match on record." get_close_matches(userEmpName, employeeNames, 1) 

One Solution collect form web for “difflib.get_close_matches () – получение желаемого результата”

У вашего кода есть синтаксические ошибки: сопоставьте этот код с вашим:

 import difflib employeeNames = ['Colton','Jayne','Barb','Carlene','Dick','Despina'] employeeNames.sort() endInput = raw_input('Type "end" to view list of names.\n\n') if endInput == "end": userEmpName = raw_input("Please enter the employee name you're searching for. We'll return the best match on record.") print difflib.get_close_matches(userEmpName, employeeNames, 1) 
  1. вы не закрыли открытый механизм в методе input() .

  2. Я предлагаю использовать raw_input() вместо использования input() при работе со строками.

  3. вы должны использовать classname.method() если вы импортировали только класс (в вашем случае import difflib ), поэтому difflib.get_close_matches(string,list,n) этого используйте difflib.get_close_matches(string,list,n) .

  4. Вам нужно использовать инструкцию print до возвращаемого значения.

Также get_close_matches() следует вызывать внутри if потому что если endInput!='end' то NameError будет появляться для userEmpName .

РЕДАКТИРОВАТЬ:

Я должен был спросить вас о вашей версии интерпретатора python.
В печатной строке должны использоваться фигурные скобки.

print(difflib.get_close_matches(userEmpName, employeeNames, 1))

Причина в python 2.x print – это statement (как я упоминал в 4-й точке), но в python 3.x его function .

  • Получить близкие совпадения строк с учетом удаления - python
  • Как использовать SequenceMatcher для поиска сходства между двумя строками?
  • "Diff -u -B -w" в python?
  • Нечеткое сравнение строк в Python, путают с какой библиотекой использовать
  • Как работает функция python difflib.get_close_matches ()?
  • Python Difflib - Как получить SDIF-последовательности с «Change» Op
  • Сравнение двух файлов .txt с использованием difflib в Python
  • Сравните различия на уровне слов двух файлов в Python
  •  
    Interesting Posts for Van-Lav

    Изменение User Agent в Python 3 для urrlib.request.urlopen

    число которых в списке 2 больше и меньше каждого числа в списке 1

    Производные классы, получающие сигналы в неправильной цепочке в PySide (Qt / PyQt)

    Лучший способ назвать цепочку функций в python?

    Проверка JQuery Удаленная опция Flask

    Pywin32 save .docx как pdf

    условный граф в тензорном потоке и для цикла, который обращается к размеру тензора

    Внедрение Adagrad в Python

    Как получить информацию о выигрыше от scikit-learn DecisionTreeClassifier?

    Преобразование текстовых данных из объекта запроса в dataframe с помощью pandas

    Как быстро получить доступ ко всем значениям, соответствующим определенному ключу второго уровня, независимо от ключа первого уровня в словаре Python?

    Python HTMLParser: UnicodeDecodeError

    Использование setuptools для создания пакета cython, вызывающего внешнюю библиотеку C

    HTML не рендеринг в текстовом поле Django

    Что случилось с этой программой python, работающей на .csv?

    Python - лучший язык программирования в мире.