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

10. Цикл for

Цикл For | Уроки Python для дітей | ITisFuture

Цикл for у python

У цьому уроці ми розберемо цикл for у Python та дізнаємося історію створення шахів. Який цикл краще: while чи for? Обирайте самі, втім важливо вправно володіти обома. Тож, поїхали!

Якщо ви призабули, що таке цикл, то раджу повернутися до уроку по циклу while і згадати.

👦🏻 “І нащо мені вчити ще один цикл 🤯? Тільки з while розібрався! 🥵”.


🙋‍♀️ “Тут як з виделкою і ложкою. Їсти можна тільки виделкою. Або тільки ложкою. Але зручніше чергувати залежно від страви. Схоже і з циклами. Будь-яку програму, написану на while можна переписати на for. І навпаки. Але є випадки, коли краще працює цикл for у ваших Python програмах, і є випадки, де зручніше з while”

Цикл for варто використати тоді, коли ми завчасно знаємо кількість ітерацій (запусків циклів). Також його зручно запускати по списку чи об’єкту.

Найпростіший For

1: Снігопад.  Запишіть собі приклади схожих циклів, які малюють сніжинки. Змініть цикли так, щоб в останньому рядку було 10 сніжинок.

i=0
while (i<5):
  print ("*"*i)
  i+=1

for i in range (5):
  print ("*"*i)

У найпростішому варіанті FOR у функцію range передається тільки кількість запусків циклу.

Легенда про створення шахів

Урок програмування про цикл For у Python. Легенда про створення шахів
Урок програмування про цикл For у Python. Легенда про створення шахів

За легендою, коли творець шахів давньоіндійський математик-мудрець, на ім’я Сісса показав свій винахід правителю країни, тому так сподобалася гра, що він проводив години граючи у неї. За таку винахідливість правитель дозволив винахіднику вибрати нагороду.

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

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

Урок програмування про цикл For у Python. Легенда про створення шахів

Однак, коли через тиждень скарбник все ще не зміг підрахувати, скільки потрібно зерен, правитель запитав, у чому причина такої затримки. Скарбник показав йому розрахунки і сказав, що розплатитися неможливо, хіба що осушити моря та океани і засіяти весь простір пшеницею 🤑.

Кількість зерна, що запросив хитрий винахідник, приблизно в 1800 разів перевищує сучасний світовий врожай пшениці за рік (у 2008-09 аграрному році врожай становив 686 млн тонн), і також перевищує весь урожай пшениці, зібраний за всю історію людства. 

Порахувати  суму можна так: 

1 + 2 + 4 + 8 + . . . = 20 + 21 + 22 + 23 + . . . + 263.

2: Давай тепер складемо цикл for на python, яка буде писати кількість зерен на кожній клітинці.
Білу клітинку заміни на кількість клітинок на шахівниці.
Чорну клітинку заміни на число в яке збільшується кількість зерна від клітинки до клітинки.

for i in range (⬜️):
  print (f"На {i} клітинці {⬛️**i} зерен")
Урок програмування про цикл For у Python. Легенда про створення шахів

Вигідна угода.

Якщо вам запропонують угоду, чи погодитеся ви:

Вам будуть давати по 10 000 доларів на день. Натомість ви повинні повертати такі гроші протягом місяця: в 1-й день 1 цент, в другий – 2 центи, в 3-й 4 центи і т.д.

3 (Level UP): Складіть програму, яка рахуватиме, скільки людина утримає гроші в разі “Вигідної угоди” вище і скільки втратить.

 Функція range()

Функція range() вказує скільки разів потрібно повторити щось.

Функцію range() часто використовує цикл For у Python. Вона має такі аргументи:

  • start вказує ціле число, з якого починається послідовність (включно). Якщо цей аргумент не вказано, використовується значення 0.
  • stop потрібно використовувати завжди. Це останнє ціле число послідовності (не включно).
  • step визначає крок: наскільки потрібно збільшити (у разі негативних чисел зменшити) наступну ітерацію. Якщо аргумент step пропущено, за промовчанням використовується 1.
Урок програмування про цикл For у Python. Функція range

Не обов’язково вказувати всі три аргументи для range.

Можна вказати лише один. Тоді цикл буде від 0 (включно) до вказаного числа (не включно) з кроком 1

Урок програмування про цикл For у Python. Функція range

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

Урок програмування про цикл For у Python. Функція range

4: Знайдіть суму всіх чисел від 0 до 100 (включно) за допомогою циклу for та range(stop):

result=0
for i in range(101):
    result+=i
print (result)

5: Знайдіть суму всіх чисел від 20 до 30 (включно) за допомогою циклу for range(start,stop)

6: Знайдіть суму всіх чисел, які діляться на 5 від 100 до 200 (включно) за допомогою циклу for та range(start, stop, step)

Також в параметрі “крок” (step) можна використовувати від’ємні числа. Тоді цикл перебиратиме значення у зворотному напрямку. У такому разі не забудьте відкоригувати аргументи start і stop (поставте їх за спаданням).

7: Давайте напишемо програму-таймер, яка відраховує задану кількість секунд

import time
for i in range(30,0,-1):
   time.sleep(1)
   print(i)

time.sleep(1) – ця команда допомагає програмі заснути на одну секунду

8: Змініть таймер, щоб він рахував 20 секунд.

Відео з поясненнями на тему цикл for у python:

Уроки програмування для дітей. Домашня робота

Домашка

1: Подана програма виводить всі дні січня. Перепишіть її, використовуючи цикл for замість while

date = 1
while date <= 31:
   print ( str(date) + " of January")
   date = date + 1

2: Дана програма виводить табличку множення на 8 для чисел від 0 до 10. Ваша задача змінити програму так, щоб вона виводила табличку множення на 7 для чисел від 11 до 20. 

for i in range (11):
  res=i*8
  print (i, "*8=", res)

3: Виведіть всі числа, які діляться на 3 із діапазону, який введе користувач. 

Приклад роботи:

Введіть перше число: 6
Введіть друге число: 15
6, 9, 12

Додаткові бали, якщо в програмі будуть перевірки: Додайте необхідні перевірки того, що користувач ввів дані правильно. Якщо дані неправильні, виведіть повідомлення про помилку.

4: У юного тіктокера зараз 5000 підписників. Він дізнався, що якщо буде працювати над власним контентом і викладати вчасно нові відео, то до нього на канал будуть додаватися нові підписники, при чому у їх кількість буде зростати щомісяця. У перший місяць може підписатися 600 людей, у 2-й – 700, у 3-й – 800 і т.д. Створіть програму, як буде показувати, яка кількість користувачів буде у блогера в кожний місяць року. 
(Якщо важко придумати формулу – нижче є підказка)

Мем про програміста

Підказка по формулі: 500+i*100 (якщо місяці рахувати з 1)

Уроки програмування для дітей ускладнені завдання level up

Level Up!

1: Намалюйте схожу ялинку догори дриґом (схожу на малюнок) за допомогою циклу for :

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

Все! Більше інформації про цикл for у Python тут.

Не зупиняйтесь у вивченні Python! До зустрічі на наступних уроках!

Залишити коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *