
- •1.2 Форматування виведення інформації
- •1.3 Конвертування між стрічками і списками.
- •Модуль string
- •2. Засоби керування логікою.
- •2.1 Умовні вирази
- •Корпус nltk.Book
- •2.2 Конструкція list comprehension
- •Виконати самостійно:
- •2.3. Обробка кожного елемента:
- •3. Умовна інструкція
- •3.1. Структура умовної інструкції
- •3.2 Умови
- •3.3. Неповна інструкція галуження
- •3.4. Інструкція множинного галуження
- •3.5. Вкладені умовні інструкції
- •4. Цикл з умовою
- •4.2. Ітерації і If твердження.
- •Модуль random
- •Додаток а
- •Функції для роботи зі списками
- •Порядок виконання роботи
- •Варіанти завдань
- •Література
- •Інтернет посилання
- •Методичні вказівки
Виконати самостійно:
Виконайте наступні приклади і спробуйте пояснити, що відбувається в кожному з них:
>>> sorted([w for w in set(text7) if '-' in w and 'index' in w])
>>> sorted([wd for wd in set(text3) if wd.istitle() and len(wd) > 10])
>>> sorted([w for w in set(sent7) if not w.islower()])
>>> sorted([t for t in set(text2) if 'cie' in t or 'cei' in t])
2.3. Обробка кожного елемента:
Розглянемо наступні приклади:
>>> [len(w) for w in text1]
[1, 4, 4, 2, 6, 8, 4, 1, 9, 1, 1, 8, 2, 1, 4, 11, 5, 2, 1, 7, 6, 1, 3, 4, 5, 2, ...]
>>> [w.upper() for w in text1]
['[', 'MOBY', 'DICK', 'BY', 'HERMAN', 'MELVILLE', '1851', ']', 'ETYMOLOGY', '.', ...]
>>>
В даних прикладах застосовані наступні вирази: [f(w) for ...] or [w.f() for ...], де f це функція, яка або визначає довжину слова або перетворює малі літери на великі. В кожному з цих прикладів здійснюється обробка кожного елемента списку. Змінній W послідовно присвоююся значення слів з тексту і над цією змінною виконуються передбачені програмою дії.
Такий запис [f(w) for ...] називається "list comprehension" (включення списків або спискові висловлювання) і є важливим для написання та розуміння програм на Python.
Застосуємо включення списків для підрахунку слів в тексті:
>>> len(text1)
260819
>>> len(set(text1))
19317
>>> len(set([word.lower() for word in text1]))
17231
>>>
В даному прикладі ми уникнули подвійного підрахунку слів з великої літери (This and this), що зменшило кількість приблизно на 2000 слів. Подібним способом можна уникнути підрахунку розділових знаків та чисел.
>>> len(set([word.lower() for word in text1 if word.isalpha()]))
16948
>>>
3. Умовна інструкція
Умовна інструкція (інструкція розгалуження) — це розвилка на шляху виконання програми. Програма може піти по одному шляху, а може і по іншому. Шлях вибирається в залежності від значення змінних в момент перевірки умови.
Наприклад, наступна програма друкує на екран найбільше з двох введених чисел:
>>> x=2
>>> y=5
>>> if x>y: # Галуження залежно від умови x>y
print x # Надрукуємо x якщо умова істинне
else:
print y # Надрукуємо у якщо умова помилкова
5
>>>
Ця програма перевіряє, яке з двох введених чисел більше (x>y). Якщо ця умова істинна, то друкується значення x, інакше значення у. Таким чином, дана програма надрукує найбільше з двох чисел.
У загальному випадку синтаксис інструкції галуження такий:
if умова:
інструкція11
...
інструкція1n
else:
інструкція21
...
инструкция2n
Працює інструкція галуження так. Спочатку перевіряється умова. Якщо вона істинне, то виконується та послідовність інструкцій, яка знаходиться між ключовими словами if і else (називатимемо цю послідовність інструкцій if-блоком). Якщо ж умова помилкова, то замість цього блоку інструкцій виконується та послідовність, яка слідує після ключового слова else (else-блок). Після завершення виконання if-блоку або else-блоку, тобто незалежно від умови, починають виконуватися інструкції, наступні після else-блоку (у розглянутому прикладі це остання інструкція print).