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.
- Збережіть
full_nameу змінну, записавши його навмисно недбало: із зайвими пробілами на початку, в кінці та між словами і в змішаному регістрі, наприклад" pETRENKO ivan olehovych ". - Приведіть рядок до охайного вигляду:
Petrenko Ivan Olehovych(використайтеsplit(),join()іtitle()). Виведіть результат і його довжину. - Розпакуйте результат
split()у змінніsurname,name,patronymic. -
Виведіть:
- перший і останній символ прізвища;
- прізвище навпаки;
- імʼя у форматі
Petrenko I. O.; - ініціали без крапок:
PIO; - кількість голосних у повному імені.
-
Запишіть групу у змінну
groupі виведіть частину до дефіса та частину після нього (черезfind()і зрізи). Виведіть, чи є частина після дефіса числом (isdigit()). - Сформуйте логін у форматі
i.petrenkoта поштуi.petrenko@student.edu.uaі виведіть їх.
Завдання 2. Рядок з оцінками¶
Файл task2.py.
- Запишіть оцінки одним рядком через кому та пробіл, наприклад
"95, 88, 100, 73, 81". - Отримайте з нього список цілих чисел (
split()таint()). - Виведіть середню оцінку з двома знаками після коми, найвищу та найнижчу.
- Виведіть оцінки, склеєні через
" | ". - Запишіть назви предметів одним рядком через кому і отримайте з нього список.
- Виведіть таблицю: номер, предмет, оцінка. Вирівняйте колонки специфікатором ширини у f-рядку.
- Виведіть предмет із найдовшою назвою і кількість символів у ній.
Завдання 3. Речення про себе¶
Файл task3.py.
- Придумайте одне речення про себе латиницею (щонайменше 8 слів), наприклад
I study Python at college and I like chess. - Збережіть це речення у змінну
about. - Виведіть кількість слів, найдовше слово та слова у зворотному порядку.
- Виведіть, скільки разів у реченні трапляється літера
a(без урахування регістру). - Виведіть речення, де кожне слово починається з великої літери, та речення, де всі пробіли замінено на
_. - Напишіть функцію
is_palindrome(text), яка ігнорує регістр і пробіли. Перевірте її на своєму імені та на"Never odd or even". - Зашифруйте своє імʼя шифром Цезаря зі зсувом
dayі виведіть зашифрований рядок та розшифрований назад.
Знайшли помилку чи бажаєте додати інформацію, щоб покращити курс? Створіть issue на GitHub