Skip to content

19. (П9) Розвʼязування задач на опрацювання рядків

Мета роботи

Навчитися звертатися до символів рядка за індексами та зрізами, застосовувати методи рядків для зміни регістру, пошуку, заміни й очищення, розбивати рядок на частини через split() і збирати його назад через join(), а також форматувати результат f-рядками.

Персоналізація обов'язкова

Кожне завдання має працювати з вашими справжніми даними: іменем, прізвищем, групою, оцінками. Роботи з абстрактними "hello world", "abc" або з даними іншого студента не приймаються.

Підготовка

Кожне завдання виконуйте в окремому файлі: task1.py, task2.py та task3.py. Теоретичний матеріал — лекція 18.

Ваші персональні дані

Перш ніж почати, випишіть ці значення — вони знадобляться в завданнях.

Позначення Звідки береться Приклад Завдання
full_name ваше прізвище, імʼя та по батькові латиницею Petrenko Ivan Olehovych 1
group ваша група PZ-11 1
оцінки щонайменше п'ять ваших оцінок (реальних або очікуваних) 95 88 100 73 81 2
предмети предмети, яким відповідають оцінки, латиницею Programming, Math, ... 2
about речення про себе латиницею, щонайменше 8 слів I study Python at college and I like chess. 3
day день вашого народження 14 3

Хід роботи

Завдання 1. Імʼя та група

Файл task1.py.

  1. Збережіть full_name у змінну, записавши його навмисно недбало: із зайвими пробілами на початку, в кінці та між словами і в змішаному регістрі, наприклад " pETRENKO ivan olehovych ".
  2. Приведіть рядок до охайного вигляду: Petrenko Ivan Olehovych (використайте split(), join() і title()). Виведіть результат і його довжину.
  3. Розпакуйте результат split() у змінні surname, name, patronymic.
  4. Виведіть:

    • перший і останній символ прізвища;
    • прізвище навпаки;
    • імʼя у форматі Petrenko I. O.;
    • ініціали без крапок: PIO;
    • кількість голосних у повному імені.
  5. Запишіть групу у змінну group і виведіть частину до дефіса та частину після нього (через find() і зрізи). Виведіть, чи є частина після дефіса числом (isdigit()).

  6. Сформуйте логін у форматі i.petrenko та пошту i.petrenko@student.edu.ua і виведіть їх.

Завдання 2. Рядок з оцінками

Файл task2.py.

  1. Запишіть оцінки одним рядком через кому та пробіл, наприклад "95, 88, 100, 73, 81".
  2. Отримайте з нього список цілих чисел (split() та int()).
  3. Виведіть середню оцінку з двома знаками після коми, найвищу та найнижчу.
  4. Виведіть оцінки, склеєні через " | ".
  5. Запишіть назви предметів одним рядком через кому і отримайте з нього список.
  6. Виведіть таблицю: номер, предмет, оцінка. Вирівняйте колонки специфікатором ширини у f-рядку.
  7. Виведіть предмет із найдовшою назвою і кількість символів у ній.

Завдання 3. Речення про себе

Файл task3.py.

  1. Придумайте одне речення про себе латиницею (щонайменше 8 слів), наприклад I study Python at college and I like chess.
  2. Збережіть це речення у змінну about.
  3. Виведіть кількість слів, найдовше слово та слова у зворотному порядку.
  4. Виведіть, скільки разів у реченні трапляється літера a (без урахування регістру).
  5. Виведіть речення, де кожне слово починається з великої літери, та речення, де всі пробіли замінено на _.
  6. Напишіть функцію is_palindrome(text), яка ігнорує регістр і пробіли. Перевірте її на своєму імені та на "Never odd or even".
  7. Зашифруйте своє імʼя шифром Цезаря зі зсувом day і виведіть зашифрований рядок та розшифрований назад.

Знайшли помилку чи бажаєте додати інформацію, щоб покращити курс? Створіть issue на GitHub