Введение
В этом практическом занятии (лабораторной работе) вы научитесь проверять, находится ли строка в заглавном регистре (title case) на Python. Практическое занятие начинается с объяснения концепции заглавного регистра (title case) — стиля написания заголовков, где первая буква каждого слова пишется с заглавной буквы, за исключением мелких слов, таких как артикли, предлоги и союзы.
Затем вы создадите скрипт на Python с именем title_case.py, который будет содержать функцию для преобразования заданной строки в заглавный регистр (title case). Скрипт разделяет строку на слова, делает первую букву каждого слова заглавной (за исключением мелких слов) и снова объединяет слова в строку. Наконец, вы запустите скрипт и посмотрите на вывод, чтобы убедиться, что строки преобразуются в заглавный регистр (title case).
Понять концепцию заглавного регистра (title case)
На этом этапе вы узнаете о заглавном регистре (title case) — общем стиле написания заголовков и шапок. Понимание заглавного регистра (title case) является важным для правильного форматирования текста и обеспечения его читаемости.
Заглавный регистр (title case) относится к стилю, при котором первая буква каждого слова пишется с заглавной буквы, за исключением определенных мелких слов, таких как артикли (a, an, the), предлоги (of, in, to) и союзы (and, but, or). Однако первое и последнее слова заголовка всегда пишутся с заглавной буквы, независимо от их типа.
Начнем с создания скрипта на Python для изучения заглавного регистра (title case).
Откройте редактор VS Code в среде LabEx.
Создайте новый файл с именем
title_case.pyв директории~/project.touch ~/project/title_case.pyОткройте файл
title_case.pyв редакторе.Добавьте следующий код на Python в файл:
def to_title_case(text): minor_words = ['a', 'an', 'the', 'of', 'in', 'to', 'and', 'but', 'or'] words = text.split() title_cased_words = [] for i, word in enumerate(words): if i == 0 or i == len(words) - 1 or word not in minor_words: title_cased_words.append(word.capitalize()) else: title_cased_words.append(word.lower()) return ' '.join(title_cased_words) text1 = "the quick brown fox" text2 = "learning python is fun" print(to_title_case(text1)) print(to_title_case(text2))Этот код определяет функцию
to_title_case, которая преобразует заданную строку в заглавный регистр (title case). Он разбивает строку на слова, делает первую букву каждого слова заглавной (за исключением мелких слов), а затем снова объединяет слова в строку.Сохраните файл
title_case.py.Запустите скрипт с помощью команды
pythonв терминале:python ~/project/title_case.pyВы должны увидеть следующий вывод:
The Quick Brown Fox Learning Python Is FunЭтот вывод показывает, как скрипт преобразует входные строки в заглавный регистр (title case), делая первую букву каждого значимого слова заглавной.
Использовать метод istitle()
На этом этапе вы научитесь использовать метод istitle() в Python для проверки, находится ли строка в заглавном регистре (title case). Метод istitle() является встроенным методом строки, который возвращает True, если строка написана в заглавном регистре (title case), и False в противном случае.
Для того чтобы понять, как работает метод istitle(), изменим скрипт title_case.py из предыдущего этапа.
Откройте файл
title_case.pyв редакторе VS Code.Добавьте следующий код в файл:
def to_title_case(text): minor_words = ['a', 'an', 'the', 'of', 'in', 'to', 'and', 'but', 'or'] words = text.split() title_cased_words = [] for i, word in enumerate(words): if i == 0 or i == len(words) - 1 or word not in minor_words: title_cased_words.append(word.capitalize()) else: title_cased_words.append(word.lower()) return ' '.join(title_cased_words) text1 = "the quick brown fox" text2 = "Learning Python is fun" text3 = to_title_case(text1) print(text1.istitle()) print(text2.istitle()) print(text3.istitle())В этом коде мы используем метод
istitle()для проверки, находятся ли строкиtext1,text2иtext3в заглавном регистре (title case). Строкаtext1написана в нижнем регистре, строкаtext2частично соответствует заглавному регистру (title case), а строкаtext3является результатом преобразования строкиtext1в заглавный регистр (title case) с использованием функцииto_title_caseиз предыдущего этапа.Сохраните файл
title_case.py.Запустите скрипт с помощью команды
pythonв терминале:python ~/project/title_case.pyВы должны увидеть следующий вывод:
False False TrueЭтот вывод показывает, что строки
text1иtext2не находятся в заглавном регистре (title case) (поэтому методistitle()возвращаетFalse), в то время как строкаtext3находится в заглавном регистре (title case) (поэтому методistitle()возвращаетTrue).
Проверить правильное использование заглавных букв
На этом этапе вы научитесь комбинировать функцию to_title_case и метод istitle() для проверки, правильно ли написана заданная строка в соответствии с правилами заглавного регистра (title case). Это включает преобразование строки в заглавный регистр (title case) и последующую проверку, действительно ли преобразованная строка находится в таком регистре.
Продолжим изменять скрипт title_case.py из предыдущих этапов.
Откройте файл
title_case.pyв редакторе VS Code.Добавьте следующий код в файл:
def to_title_case(text): minor_words = ['a', 'an', 'the', 'of', 'in', 'to', 'and', 'but', 'or'] words = text.split() title_cased_words = [] for i, word in enumerate(words): if i == 0 or i == len(words) - 1 or word not in minor_words: title_cased_words.append(word.capitalize()) else: title_cased_words.append(word.lower()) return ' '.join(title_cased_words) def check_title_case(text): title_cased_text = to_title_case(text) return title_cased_text.istitle() text1 = "the quick brown fox" text2 = "Learning Python is fun" text3 = "The Quick Brown Fox" print(check_title_case(text1)) print(check_title_case(text2)) print(check_title_case(text3))В этом коде мы определяем новую функцию
check_title_case, которая принимает строку в качестве входных данных, преобразует ее в заглавный регистр (title case) с использованием функцииto_title_case, а затем использует методistitle()для проверки, находится ли преобразованная строка в заглавном регистре (title case). Затем мы тестируем эту функцию на трех разных строках:text1,text2иtext3.Сохраните файл
title_case.py.Запустите скрипт с помощью команды
pythonв терминале:python ~/project/title_case.pyВы должны увидеть следующий вывод:
True True TrueЭтот вывод показывает, что строки
text1иtext2преобразуются в заглавный регистр (title case), и методistitle()возвращаетTrue. Строкаtext3уже находится в заглавном регистре (title case), и функцияcheck_title_caseподтверждает это.
Резюме
В этом практическом занятии (лабораторной работе) вы начали с понимания концепции заглавного регистра (title case) — стиля написания, при котором первая буква каждого слова пишется с заглавной буквы, за исключением незначительных слов, таких как артикли, предлоги и союзы (при этом первое и последнее слова всегда пишутся с заглавной буквы).
Затем вы создали скрипт на Python с именем title_case.py, в котором определена функция to_title_case для преобразования заданной строки в заглавный регистр (title case). Скрипт разбивает строку на слова, делает первую букву соответствующих слов заглавной и снова объединяет их в строку. Наконец, вы запускаете скрипт, чтобы увидеть вывод, демонстрирующий преобразование примеров строк в заглавный регистр (title case).



