Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2011-kl-lab3.doc
Скачиваний:
5
Добавлен:
12.11.2019
Размер:
691.71 Кб
Скачать

4.2. Ітерації і If твердження.

Нехай маємо стрічку і необхідно написати програму, яка виведе на екран всі слова, які мають закінчення «ow». Програма буде складатися з наступних частин. Спочатку розділимо стрічку на список слів.

>>> sentence='how now brown cow'

>>> words=sentence.split()

>>> words

['how', 'now', 'brown', 'cow']

>>>

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

>>> for word in words:

print word

how

now

brown

cow

>>>

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

>>> 'how'.endswith('ow')

True

>>> 'brown'.endswith('ow')

False

>>>

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

>>> sentence='how now brown cow'

>>> words=sentence.split()

>>> for word in words:

if word.endswith('ow'):

print word

how

now

cow

>>>

На завершення розглянемо наступний приклад:

>>> 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 вказує на те щоб результати виводилися в стрічку.

Модуль random

В Пітоні існує вбудований модуль, який дозволяє генерувати псевдовипадкові числа. З математичної точки зору вони не є істинно випадковими, але для наших цілей цілком підійдуть.

Модуль random містить функцію random, яка повертає дійсне число в діапазоні від 0.0 до 1.0. Кожного разу при виклику функції random отримуємо число з довгого ряду. Щоб подивитися, як вона працює, запустимо наступну програму:

>>> import random

>>> for i in range(10):

x = random.random()

print x,

0.229251402651 0.682351257761 0.294930909369 0.373334992539 0.441086385331 0.369412011226 0.210202876242 0.646238551283 0.662405582996 0.69126828748

>>>

Щоб отримати випадкове число між 0.0 і верхньою межею high, просто помножте x на high.

>>> V=5

>>> for i in range(10):

x = random.random()

print V*x,

4.69129913244 0.208588299515 0.362363052128 0.400794515189 1.85098407649 3.33756302701 4.63164988677 4.01174854489 2.56470115549 3.65997263093

>>>

Додаток а

Сьогодні ми вивчили:

  • Використання операторів if та for.

  • Побудову контрольних структур та умовних виразів.

Функції для роботи зі списками

s.lower()

Перетворення всіх символів в s на малі

s.upper()

Перетворення всіх символів в s на великі

s.title()

Перетворення всіх перших символів в s на великі

Порядок виконання роботи

1. Ознайомитися з теоретичними відомостями.

2. Виконати приклади, які використовуються в теоретичних відомостях.

3. Виконати наступні вправи.

  1. Створіть змінну sentence і присвойте їй значення ‘she sells sea shells by the sea shore’ та напишіть фрагмент програми для виведення на екран всіх слів які починаються з ‘sh’.

  2. Створіть змінну sentence і присвойте їй значення ‘she sells sea shells by the sea shore’ та напишіть фрагмент програми для виведення на екран всіх сліва, довжина яких більша ніж 4 символи.

  3. Створіть змінну sentence і присвойте їй значення ‘she sells sea shells by the sea shore’ та напишіть фрагмент програми, яка генерує нову стрічку додаючи ‘like’ перед кожним зі слів , яке починається з ‘se’.

  4. Напишіть програму, яка видаляє всі голосні зі стрічки, яка відповідає імені, по батькові та прізвищу студента. Програма повинна здійснювати наступну послідовність дій: створення початкової стрічки; створення стрічки, у якій буде зберігатися результат; for цикл для обробки стрічки символ за символом і запису неголосних символів в результуючу стрічку.

  5. Пуста стрічка і пустий список в частині умов if виразу призводить до помилки. Напишіть програму для демонстрації таких випадків при використанні if тверджень.

  6. Перегляньте результати виконання умовних виразів: ’row’ in ’brown’ та ’row’ in [’ brown’, ’cow’]. Напишіть програму для перевірки наявності в стрічці sent=’ ’colorless green ideas sleep furiously’ окремих слів та підстрічок.

  7. Виконати наступні приклади і пояснити чому отримані різні результати (різні значення змінних)

sorted(set([w.lower() for w in text1]))

sorted([w.lower() for w in set(text1)])

  1. Виконати наступні приклади і пояснити різницю між ними

w.isupper()

not w.islower()

  1. Знайдіть в тексті № 5 всі слова довжина яких дорівнює 4 і побудуйте для них частотний розподіл.

  2. Використовуючи оператори if та for виведіть на екран всі слова з тексту № 6 які написані з великої літери.

  3. Напишіть вираз для знаходження в тексті №6 всіх слів які відповідають наступним вимогам: закінчуються на ize; містять літеру z; містять послідовність літер pt; написані з великої літери . Результат представити, як список слів.

  4. Використайте вираз sum([len(w) for w in text1]) для знаходження середньої довжини слів в тексті.

  5. Перевірте виконання виразу set(sent3) < set(text1). Змініть аргументи функції. Результати поясніть.

14-18. Написати програму використовуючи list comprehension та ту саму програму не використовуючи list comprehension. Програма повинна виконувати:

  1. Знайти в тексті1 всі слова які складаються з 5 літер, і починаються з букви "t".

  2. Знайти в тексті 2 всі слова які складаються з більше ніж 5 літер, і менше ніж з 10 літер починаються з букви "t".

  3. Знайти в тексті 3 всі слова які починаються з великої літери і складаються з 7 літер.

  4. Знайти в тексті 4 всі слова які починаються з літери яка відповідає першій літері імені студента і завершуються літерою яка відповідає останній літері імені студента.

  5. Знайти в тексті 5 всі слова які складаються виключно з літер та, і містять буквосполучення "to" .

19-24. В стрічці "Love me tender, love me sweet, never let me go." Написати програму для знаходження:

  1. Слова з першої літери слова, з якого починається речення.

  2. Розділові знаки.

  3. Кількості вживання слова "love".

  4. Слова, що мають довжину більшу за 4 букви.

  5. Кількості вживання слова "me".

  6. Слів які мають довжину більше ніж 3 букви починаються на "l" та закінчуються на "e".

4. Підготувати і оформити звіт.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]