- •Міністерство освіти і науки україни
- •Укладачі: Романюк а. Б., канд. Техн. Наук, ст. Викладач
- •1.1.2 Засоби здійснення простого керування.
- •1.1.4 Ітерації і If твердження.
- •1.2 Клас FreqDist для простих статистичних досліджень
- •1.2.1.Вибір слів з текста.
- •Порядок виконання роботи
- •Методичні вказівки
- •Укладачі: Романюк Андрій Богданович
- •Зміст звіту
- •Інтернет посилання
1.1.2 Засоби здійснення простого керування.
Більшість мов програмування дозволяють виконання окремих блоків програми, коли використовуються умовні вирази або if оператори. В наступній програмі ми створили змінну word, яка містить значення ‘cat’ типу стрічка. If- оператор перевіряє умову чи довжина слова <5, чи ні. Якщо умова виразу справджується, то виконується тіло if оператора і виконується оператор print .

Якщо змінити умови виразу (довжина слова більша або рівна 5), вираз не справджується і оператор print не виконується.

If оператор, - це керуюча (управляюча) структура, тому що вона керує виконанням програми, вона вибирає, яка частина коду в програмі буде виконуватися. Іншою контрольную структурою є for оператор циклу. В наступному прикладі ми бачимо його використання:
>>> for word in ['Call', 'me', 'Ishmael', '.']:
... print word
...
Call
me
Ishmael
.
>>>
Стрічка з операторами If та For повинна завершуватися двокрапкою.
1.1.3.Організація циклів з умовними виразами.
При написанні програм можна поєднувати оператори if та for. В наступному прикладі в циклі обробляються всі елементи списка і друкуються тільки ті, які мають останню літеру l:
>>> sent1 = ['Call', 'me', 'Ishmael', '.']
>>> for xyzzy in sent1:
... if xyzzy.endswith('l'):
... print xyzzy
...
Call
Ishmael
>>>
Якщо потрібно, щоб щось відбувалося, коли умовний вираз не справджується, використовується оператор else в If – твердженні.

Наступний приклад містить ще складнішу комбінацію з операторів If, else, elif.
>>> for token in sent1:
... if token.islower():
... print token, 'is a lowercase word'
... elif token.istitle():
... print token, 'is a titlecase word'
... else:
... print token, 'is punctuation'
...
Call is a titlecase word
me is a lowercase word
Ishmael is a titlecase word
. is punctuation
>>>
Якщо залишити частину умов if твердження пустою, то не пуста стрічка або список буде оброблятися як true а пуста стрічка чи список, як false.

В даному прикладі if твердження тотожне до if len(element) > 0
Для встановлення відмінності в використанні if...elif роглянемо наступний приклад:

У випадку, коли if. вираз твердження задовольняється, elif вираз не виконується і програма ніколи не виведе на екран 2. elif вираз надає більше інформації ніж if вираз. Якщо elif вираз справджується то це означає, що не тільки одна умова справджується але і означає, що умова if виразу не справдилася.
1.1.4 Ітерації і If твердження.
Нехай маємо стрічку і необхідно написати програму, яка виведе на екран всі слова, які мають закінчення «ow». Програма буде складатися з наступних частин. Спочатку розділимо стрічку на список слів.

Тепер потрібно послідовно перебрати всі слова у списку . Напишемо такий цикл , за допомогою якого виводимо на екран всі слова .

Далі треба вивести на екран тільки необхідні нам слова із закінченням «ow». Попередньо можна перевірити, які саме слова необхідно вивести на екран.

Тепер все готове для написання If твердження у For циклі.

На завершення розглянемо наступний приклад:
>>> tricky = sorted([w for w in set(text2) if 'cie' in w or 'cei' in w])
>>> for word in tricky:
... print word,
ancient ceiling conceit conceited conceive conscience
conscientious conscientiously deceitful deceive ...
>>>
Спочатку був створений список куди увійшли слова з буквосполученнями «cie» та «cei».Елементи цього списку оброблялися в циклі і роздруковувалися. Зауважимо, що кома в кінці оператора print вказує на те щоб результати виводилися в стрічку.
