МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ „ЛЬВІВСЬКА ПОЛІТЕХНІКА”
ІКТА
кафедра ЗІ
З В І Т
до лабораторної роботи №3
з курсу:
«Програмування скриптовими мовами»
на тему:
«Робота з рядками»
Варіант 23
Львів – 2020
МЕТА РОБОТИ
Ознайомитись з вбудованими рядковими типами Python та операторами і функціями для роботи з ними.
ЗАВДАННЯ
Домашня підготовка до роботи
Вивчити теоретичний матеріал.
Виконати в лабораторії
Написати програму, яка для заданого тексту використовуючи арифметичні і рядкові операції та операції форматування тексту виводить відформатований текст. Форматування здійснити трьома способами: з допомогою оператора %, методу format() і форматованих рядкових літералів. Текст для форматування: «Сьогодні в "а" буде проходити позачергове засідання комітету з проблем "b", організоване "с". Було подано "d" заявок на загальну суму "е" тис. гривень. Середня вартість проекту склала "g" гривень.» Наприклад: "а" – 12.30, "b" - «Інформатизація освіти», "с" – МОНУ, "d" – 213, "е" – 123000, "g" = e/d. Параметри вводяться з клавіатури в діалоговому режимі.
Для заданого тексту визначити і вивести на екран згідно варіанту у таблиці 1:
1. Скільки разів зустрічається задана буква та слово (при пошуку букви враховувати нижній і верхній регістри, тобто в рядку “А зараз” – буква а зустрічається 3 рази, а також кирилицю і латинку, тобто Volkswagen – 434 авто – містить дві букви а).
2. Визначити позицію першої появи заданої букви та слова.
3. Визначити довжину рядка, кількість пробілів та цифр в ньому.
4. Замінити вказане слово на задане.
5. Розбити текст на речення. Номер варіанту відповідає номеру в списку групи.
Варіант
Буква і слово для пошуку
Слово для заміни
Було
Стало
23
1. “у”, “також”
Skoda
Seat
РЕЗУЛЬТАТ ВИКОНАННЯ РОБОТИ
1. Лістинг програми.
a = str(input("Введіть а: "))
b = str(input("Введіть b: "))
c = str(input("Введіть c: "))
d = int(input("Введіть d: "))
e = float(input("Введіть e: "))
g = (e * 1000) / d
print("Сьогодні в %s буде проходити позачергове засідання комітету з проблем %s, організоване %s. Було подано %d "
"заявок на загальну суму %d тис. гривень. Середня вартість проекту склала %d гривень." % (a, b, c, d, e, g))
print("Сьогодні в {0} буде проходити позачергове засідання комітету з проблем {1}, організоване {2}. Було подано {3} "
"заявок на загальну суму {4} тис. гривень. Середня вартість проекту склала {5:.2f} гривень.".format(a, b, c, d, e, g))
print(f"Сьогодні в {a} буде проходити позачергове засідання комітету з проблем {b}, організоване {c}. Було подано {d} "
f"заявок на загальну суму {e} тис. гривень. Середня вартість проекту склала {g:.2f} гривень.")
text= 'Всього за липень місяць 2018 року було зареєстровано 6.7 тисяч \
автомобілів. Це на 3% більше, ніж в червні. Найчастіше реєструвалися автомобілі \
марки Renault – 725 шт. Це на 12% більше ніж роком раніше. Другою за обсягами \
реалізації стала японська марка Toyota, повторюючи свій результат річної \
давності – 723 машини. На третій сходинці Skoda. Свої перші номери отримали 503 \
автомобіля цієї марки, або на три авто більше, ніж в липні 2017 року. Четверта \
позиція у Nissan, який закінчив місяць з показником 465 авто. Внаслідок, Nissan \
збільшив свої липневі продажі на 25%. Замикає п\'ятірку лідерів Hyundai. Попит \
на цю марку в Україні склав 451 автомобіль і зріс на 51%. Також в ТОП-10 увійшли \
такі автомобільні марки: KIA – 438 авто (-10%); Volkswagen – 434 авто (-9%); \
Ford – 307 авто (+ 18%); Suzuki – 261 авто (+ 16%) і Mazda – 233 авто (-18%).'
letter='у'
word_find='також'
letter_count= text.count('у') + text.count('у'.upper()) + text.count('u') + text.count('u'.upper())
word_count= text.count('також') + text.count('також'.title())
digit_count=0
for i in range(len(text)):
if text[i].isdigit():
digit_count+=1
print (f'Задана буква зустрічається {letter_count} разів. \
Задане слово зустрічається {word_count} разів.\n Перша поява букви: \
{text.find("у" or "u" or "U" or "У")} позиція, перша поява слова {text.find("також".title())}\
позиція. \n Довжина рядка: {len(text)} символів.\n Кількість пробілів: \
{text.count(" ")}.\n Кількість цифр: {digit_count}.')
text_new=text.replace('Skoda', 'Seat')
print('Текст із заміненим словом:\n', text_new)
text_new=text.split('. ')
print('Текст, розбитий на речення:\n', text_new)
2. Результат роботи програми.
Введіть а: 12:30
Введіть b: Інформатизація освіти
Введіть c: МОНУ
Введіть d: 213
Введіть e: 123
Сьогодні в 12:30 буде проходити позачергове засідання комітету з проблем Інформатизація освіти, організоване МОНУ. Було подано 213 заявок на загальну суму 123 тис. гривень. Середня вартість проекту склала 577 гривень.
Сьогодні в 12:30 буде проходити позачергове засідання комітету з проблем Інформатизація освіти, організоване МОНУ. Було подано 213 заявок на загальну суму 123.0 тис. гривень. Середня вартість проекту склала 577.46 гривень.
Сьогодні в 12:30 буде проходити позачергове засідання комітету з проблем Інформатизація освіти, організоване МОНУ. Було подано 213 заявок на загальну суму 123.0 тис. гривень. Середня вартість проекту склала 577.46 гривень.
Задана буква зустрічається 15 разів. Задане слово зустрічається 1 разів.
Перша поява букви: 32 позиція, перша поява слова 669 позиція.
Довжина рядка: 846 символів.
Кількість пробілів: 141.
Кількість цифр: 58.
Текст із заміненим словом:
Всього за липень місяць 2018 року було зареєстровано 6.7 тисяч автомобілів. Це на 3% більше, ніж в червні. Найчастіше реєструвалися автомобілі марки Renault – 725 шт. Це на 12% більше ніж роком раніше. Другою за обсягами реалізації стала японська марка Toyota, повторюючи свій результат річної давності – 723 машини. На третій сходинці Seat. Свої перші номери отримали 503 автомобіля цієї марки, або на три авто більше, ніж в липні 2017 року. Четверта позиція у Nissan, який закінчив місяць з показником 465 авто. Внаслідок, Nissan збільшив свої липневі продажі на 25%. Замикає п'ятірку лідерів Hyundai. Попит на цю марку в Україні склав 451 автомобіль і зріс на 51%. Також в ТОП-10 увійшли такі автомобільні марки: KIA – 438 авто (-10%); Volkswagen – 434 авто (-9%); Ford – 307 авто (+ 18%); Suzuki – 261 авто (+ 16%) і Mazda – 233 авто (-18%).
Текст, розбитий на речення:
['Всього за липень місяць 2018 року було зареєстровано 6.7 тисяч автомобілів', 'Це на 3% більше, ніж в червні', 'Найчастіше реєструвалися автомобілі марки Renault – 725 шт', 'Це на 12% більше ніж роком раніше', 'Другою за обсягами реалізації стала японська марка Toyota, повторюючи свій результат річної давності – 723 машини', 'На третій сходинці Skoda', 'Свої перші номери отримали 503 автомобіля цієї марки, або на три авто більше, ніж в липні 2017 року', 'Четверта позиція у Nissan, який закінчив місяць з показником 465 авто', 'Внаслідок, Nissan збільшив свої липневі продажі на 25%', "Замикає п'ятірку лідерів Hyundai", 'Попит на цю марку в Україні склав 451 автомобіль і зріс на 51%', 'Також в ТОП-10 увійшли такі автомобільні марки: KIA – 438 авто (-10%); Volkswagen – 434 авто (-9%); Ford – 307 авто (+ 18%); Suzuki – 261 авто (+ 16%) і Mazda – 233 авто (-18%).']
Process finished with exit code 0
ВИСНОВОК
В процесі виконання лабораторної роботи я ознайомилась з вбудованими рядковими типами Python та операторами і функціями для роботи з ними.