Как сравнить строку без учета регистра - PullRequest
0 голосов
/ 12 января 2019

Итак, ребята, я пытаюсь сделать приложение для словаря. Я хочу, чтобы это было без учета регистра. Сначала я увидел несколько решений этой проблемы, но ни одно из них мне не подошло. Позвольте мне объяснить это на примере: допустим, у меня есть слово School мой код работает нормально, когда я ищу его как School, но он не работает, когда я ищу его как school.

я действительно не получил это решение https://stackoverflow.com/a/15400311/9692934

    key_to_search = input() #not raw_input() since its python 3    
    with open("fileOfWords.txt") as enter:
        for line in enter:
            if line.startswith("%s" % key_to_search):
                print(key_to_search + " is in the dictionary")

Я хочу, чтобы School было равно school и scHool и schooL. Но в моем случае School равняется School

Ответы [ 2 ]

0 голосов
/ 12 января 2019

Я думаю, что вы можете просто позвонить lower в строке поиска: key_to_search = key_to_search.lower() и сохранить все слова в нижнем регистре. Ваш код будет:

key_to_search = input().lower() #not raw_input() since its python 3    
    with open("fileOfWords.txt") as enter:
        for line in enter:
            if line.startswith("%s" % key_to_search):
                print(key_to_search + " is in the dictionary")
0 голосов
/ 12 января 2019

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

key_to_search = input() #not raw_input() since its python 3    
with open("fileOfWords.txt") as enter:
    for line in enter:
        if line.lower().startswith(key_to_search.lower()):
            print(key_to_search + " is in the dictionary")
...