Наразі ми навчилися працювати з трьома основними командами:

функції print

оператор присвоєння створює або змінює вміст змінної

надрукувати деякі значення в текстовій області за допомогою print ()

прочитати значення, введене клавіатурою за допомогою введення ()

нам потрібно було б написати:

Це дизайн Python для циклу

Для циклу

Ми поступово покажемо вам деякі основні типи циклічного використання.

Цикл із заданою кількістю повторень

Ця побудова програми має наступну форму:

Давайте напишемо програму, яка 5 разів набере введений текст:

Блок команд може містити не тільки одну команду, але й кілька команд, наприклад

Блок команд, який можна повторити в заданому циклі, закінчується, наприклад, коли командний рядок з'являється на рівні рядка for-line. Таким чином, останній рядок із символами '============' буде надрукований лише після закінчення циклу, тобто лише один раз:

Ми ще не знаємо, для чого призначена змінна циклу (у нашому прикладі, прем). Python автоматично встановлює значення цієї змінної відповідно до кількості виконаних циклів. Отож запис:

насправді означає:

Таким чином, програма перелічує:

Ми скидаємо номер змінної перед початком циклу. Вихід може бути, наприклад, таким:

Якщо додати значення змінної циклу замість 1:

отримуємо набір чисел від 0 до n-1, тобто 0 + 1 + 2 + 3 +. + n-2 + n-1, наприклад:

Ми бачимо, що 15 комплектів вартістю 0 + 1 + 2 + 3 + 4 + 5 .

Зауважте, що за допомогою цього алгоритму ми абсолютно без потреби додаємо 0 до змінної sucet на початку циклу.

Цикл з іменованими значеннями

Давайте покажемо цей наступний тип циклу на прикладі:

і ми дійсно отримуємо:

Після запуску ми отримуємо:

У наступному прикладі показано обчислення кількості днів у році як суми кількості днів у кожному місяці:

Очевидно, що ми можемо використовувати цей тип циклу, лише якщо маємо точний список значень, а не будь-яке число, яке раніше обробляла функція range (). .

і результат:

Візерунок акумулятора

і, напевно, буде написано:

Ми бачили, що функція range (n) замінює перелік цілих значень від 0 до n-1. Ця функція насправді трохи універсальніша: вона дозволяє вводити не тільки кінцеве значення згенерованої послідовності, але і початкове значення. У цьому випадку ми викликаємо функцію з двома параметрами:

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

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

і вихідний результат, наприклад:

Тепер ми можемо допомогти додатковий шаблон також розрахувати коефіцієнт для будь-якого введеного значення:

Давайте побіжимо з різними значеннями:

Якщо ми запустимо таку програму:

ми отримали б виписку із 100 рядків із числами від 100 до 199. Але зараз було б корисно, якби print () у деяких ситуаціях не закінчувався новим рядком, а інший print () продовжувався. Ми будемо використовувати новий тип параметра функції print ():

print (., end = 'string') ¶ Параметри

end = 'рядок' однак цей рядок замінить стандартні '\ n' довільні інші, найчастіше це буде один пробіл '' або порожній рядок ''

Цей параметр повинен бути останнім у списку параметрів функції print () після всіх перелічених значень. Завдяки йому, після введення цих значень, введений рядок буде записаний замість переходу в новий рядок.

Але з порожнім рядком для параметра end:

Ми використовуватимемо такий запис головним чином при перерахуванні великої кількості значень, а також коли нам потрібно скласти один рядок звіту з кількох частин у різних частинах програми, наприклад:

діапазон (зупинка) ¶ діапазон (запуск, зупинка) діапазон (запуск, зупинка, крок) Параметри

Почніть перший елемент згенерованої послідовності (якщо відсутній, вважається 0)

Стоп - значення, при якому генерується наступне значення послідовності - це значення більше не буде в послідовності

крок в hodnota “значення, на яке збільшується кожен з наступних елементів послідовності, якщо цей параметр відсутній, приймається 1

Ми найкраще покажемо це на прикладах різного роду згенерованих послідовностей цілих чисел. У таблиці наведені результати для різних параметрів:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9

0, 1, 2, 3, 4, 5, 6, 7, 8, 9

0, 1, 2, 3, 4, 5, 6, 7, 8, 9

10, 20, 30, 40, 50, 60, 70, 90

Окремим випадком параметрів функції range () є негативний крок, тобто ситуація, коли нам потрібна зменшувана послідовність чисел. Наприклад, діапазон позначень (15, 5, -1) вказує, що першим членом послідовності буде 15, всім іншим буде на 1 менше (крок параметра -1), а останнім не буде менше або дорівнює як 5 (параметр зупинки - 5). Ми тестуємо:

і отримаємо послідовність:

Це дає нам ту ж послідовність, що і в попередньому прикладі. Давайте перевіримо:

Що набагато читабельніше, ніж використання діапазону (9, -1, -1) .

Математичні та випадкові модулі

функція type () повертає тип вказаного значення

Функції int (), float () та str () передають (перетворюють) вказане значення в інший тип

Функції range () та reversed () генерують послідовність чисел відповідно. вони питають її

Модуль математики

В останньому повідомленні про помилку зазначено, що ми повинні викликати функцію sin лише з одним параметром (виклики без параметрів у Python неможливі).

Аналогічно ми можемо ввести:

Це вказує на те, що функція sin () з математичного модуля справді обчислює синус, але кут потрібно вводити в радіанах. Тому, наприклад, для обчислення гріха (45) ми повинні написати один із варіантів:

Другий і третій обчислення використовують або константу pi, або функцію перетворення radians (), яка перетворює градуси в радіани. Ймовірно, найчастіше ми будемо використовувати третій варіант, використовуючи радіани () .

Створіть таблицю для оцінки функцій синуса та косинуса для кутів від 0 до 90 градусів на кроці 5:

Спробуємо намалювати (в текстовій області за допомогою деяких символів) хід функції синуса. Оскільки поле значення цієї функції є інтервалом дійсних чисел 1>, і ми хочемо розтягнути ці значення на ширину оператора до 80 символів, ми пишемо:

Тоді рядок у текстовій області виглядає так:

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

Використання журналу залежить від програміста. Деякі віддають перевагу попередній версії з назвою бібліотеки, написаною крапкою, оскільки при читанні програми зрозуміліше, звідки взялася функція.

Випадковий модуль

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

Для роботи з цими функціями ми не повинні забувати написати:

Друга функція, choice (), працює дуже подібним чином. Цей має лише один параметр, який полягає в оцінці деякої послідовності. Наразі ми зустріли дві послідовності значень: діапазон (.) Функція та рядки символів. Якщо ми пишемо:

Для нас найцікавішою послідовністю символів сьогодні є довільний рядок символів. Наприклад, дзвінок:

вибирає Випадкові значення з послідовності з шести символів - послідовність голосних. Подібним чином ми могли б написати:

Зверніть увагу, що в тілі зовнішнього циклу for (із змінною циклу j) є три команди: призначення, потім т.зв. вкладений для циклу та закінчення виклику функції print () .

У наступних прикладах ми покажемо кілька різних ситуацій, у яких використовується вкладений цикл.

Давайте спочатку напишемо програму, в якій перераховані числа від 0 до 99 до 10 рядків, щоб у першому стовпці були числа від 0 до 9, у другому від 10 до 19, а в останньому десятому числі - від 90 до 99:

Після запуску ми отримуємо:

У цій програмі внутрішній цикл також має змінні циклу j зі значеннями з кроком 10, але в кожному рядку починається інше значення.

Ми будемо використовувати одну і ту ж ідею, навіть якщо створимо таблицю чисел від 0 до 99, але організовану інакше: у першому рядку є числа від 0 до 9, у другому від 10 до 19, в останньому десятому від Від 90 до 99:

Звичайно, різних різних записів про вирішення цього завдання більше.

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

Ми використовуємо в цьому рішенні допоміжна змінна число, яке ми встановили до 1 перед циклом, у внутрішньому циклі ми друкуємо його значення (а не змінну циклу), а потім збільшуємо на 1 .