МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
ІКТА Кафедра ЗІ
/
З В І Т
до лабораторної роботи №3
з курсу: «Програмування скриптовими мовами»
на тему: «Робота з рядками»
Варіант - 11
Мета роботи - ознайомитись з вбудованими рядковими типами Python та
операторами і функціями для роботи з ними.
Завдання
Написати програму, яка для заданого тексту використовуючи арифметичні і рядкові операції та операції форматування тексту виводить відформатований текст.
Форматування здійснити трьома способами:
з допомогою оператора %
методом format()
форматованих рядкових літералів.
Текст для форматування:
«Сьогодні в "а" буде проходити позачергове засідання комітету з проблем "b", організоване "с". Було подано "d" заявок на загальну суму "е" тис. гривень. Середня вартість проекту склала "g" гривень.»
Наприклад:
"а" – 12.30,
"b" - «Інформатизація освіти»,
"с" – МОНУ,
"d" – 213,
"е" – 123000,
"g" = e/d.
Параметри вводяться з клавіатури в діалоговому режимі.
Для заданого тексту:
“Всього за липень місяць 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 авто (+ 21 16%) і Mazda – 233 авто (-18%).”
Визначити і вивести на екран згідно варіанту у таблиці 1:
1. Скільки разів зустрічається задана буква та слово (при пошуку букви враховувати нижній і верхній регістри, тобто в рядку “А зараз” – буква а зустрічається 3 рази, а також кирилицю і латинку, тобто Volkswagen – 434 авто – містить дві букви а).
2. Визначити позицію першої появи заданої букви та слова.
3. Визначити довжину рядка, кількість пробілів та цифр в ньому.
4. Замінити вказане слово на задане.
5. Розбити текст на речення.
Буква і слово для пошуку: “і”, “позиція”
Слово для заміни
Було Renault
Стало Porsche
Код програми 1
Форматування з допомогою оператора %
text = """Сьогодні в "а" буде проходити позачергове засідання комітету з проблем "b", організоване "с".
Було подано "d" заявок на загальну суму "е" гривень.
Середня вартість проекту склала "g" гривень."""
print(text)
a = input("В котрій годині? ")
b = input("Яка проблема? ")
c = input("Хто організував? ")
d = int(input("Скільки заявок було подано? "))
e = int(input("На яку суму? "))
g = int(e/d)
form_text = """Сьогодні в %s буде проходити позачергове засідання комітету з проблем %s, організоване %s.
Було подано %d заявок на загальну суму %d гривень.
Середня вартість проекту склала %.2f гривень.""" % (a, b, c, d, e, g)
print(form_text)
Форматування методом format()
form_text = """Сьогодні в {} буде проходити позачергове засідання комітету з проблем {}, організоване {}.
Було подано {} заявок на загальну суму {} гривень.
Середня вартість проекту склала {} гривень.""" .format(a, b, c, d, e, g)
Форматування форматованих рядкових літералів.
form_text = f"""Сьогодні в {a} буде проходити позачергове засідання комітету з проблем {b}, організоване {c}.
Було подано {d} заявок на загальну суму {e} гривень.
Середня вартість проекту склала {g} гривень."""
Результат роботи програми 1
/
Код програми 2
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 авто (+ 21 16%) і Mazda – 233 авто (-18%)."""
text2 = text.lower()
#1
i1 = text2.count("i") #ENG
i2 = text2.count("і") #UKR
i = i1 + i2
print("Буква 'і' зустрічається стільки разів: ", i)
print("Слово 'позиція' зустрічається стільки разів: ", text2.count("позиція"))
#2
print("Вперше англійська буква і появляється в позиції: ", text2.find("i")) #ENG
print("Вперше українська буква і появляється в позиції: ", text2.find("і")) #UKR
print("Вперше слово 'позиція' появляється в позиції: ", text2.find("позиція"))
#3
print("Довжина рядка: ", len(text))
print("Кількість пробілів: ", text.count(" "))
num = [ int(i) for i in text if i.isdigit() ]
print("Кількість цифр: ", len(num))
print("")
#4
print(text.replace("Renault", "Porsche"))
print("")
#5
print(text.split ('.'))
Результат роботи програми 2
Висновки: я ознайомилась з вбудованими рядковими типами Python та
операторами і функціями для роботи з ними. Написала програму, яка для заданого тексту, згідно мого варіанту, виводить відформатований текст. Використовуючи при цьому арифметичні і рядкові операції та операції форматування тексту.