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

6 Break та Continue в циклі

Don’t BREAK the rules and CONTINUE studying або секретні ходи в циклах

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

Break і continue, розбираємося

У Python break і continue оператори можуть змінювати потік звичайного циклу.

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

Оператор continue використовується для пропуску решти коду всередині циклу, він одразу переходить на старт циклу, щоб знову перевірити умову. Цикл не закінчується. 

 Оператор break допоможе вийти навіть з нескінченного циклу. Він цикл перериває і починають працювати команди, які ідуть після циклу.

Оператор continue просто пропускає решту команд в циклі і повертається на умову.

Обидва ці оператори як правило сховані за якоюсь умовою. Варто дуже обережно з ними поводитися. Адже всі команди, які будуть в циклі й будуть іти після break або continue, комп’ютер просто проігнорує наче їх там і не було…

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

Break на практиці

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

comment="Цікавезне відео! Ти молодець. Продовжуй в тому ж дусі!!"
i=0
while i< len (comment): 
  print("Буква:  ", comment[i])
  if (comment[i]=='Ї' or comment[i]=='ї' ):
      print ("Це Українська мова")
      break
  i+=1

Запишіть на листочку, скільки букв перевірить програма і що надрукує. Чому так вийшло?

Приклад з continue

 2: Розгляньте приклад роботи програми розкладу юного блогера. Заповніть табличку активностями, які у  блогера за розкладом

day=0
while day<7: 
  print("Розклад занять на день тижня ", day)
  # Школа
  if day==5:
    day+=1
    continue  
  if day==0 or day==3:
    print("\t Школа: Математика")
  if day==0 or day==2 or day==4:
    print("\t Школа: Українська мова")  
  if day==1 or day==4:
    print("\t Школа: Англійська мова")
  if day==3:
    print("\t Школа: Історія") 
  if day==1:
    print("\t Школа: Географія")
  if day==2:
    print("\t Школа: Фізика")  
  # Позашкільні заняття  
  if day==1 or day==3:
    print("\t Заняття: Іспанська мова")
  if day==2:
    print("\t Заняття: Клуб шахів")  
  if day==1:
    print("\t Заняття: Олімпіадна математика")
  if day==0 or day==4:
    print("\t Заняття: Малювання")
  if day==4:
    print("\t Заняття: Зняти блог")
  if day==6:
    print("\t Заняття: Програмування на Python")
  if day==0:
    print("\t Заняття: Почитати меншій сестрі казку") 
  if day==6:
    print("\t Заняття: Пограти з друзями в настолки")  
  if day==2:
    print("\t Заняття: Поганяти м'яча у дворі")     
  day+=1
ПнВтСрЧтПтСбНд
Школа
Заняття

Коментарі

Коментарі – це якесь пояснення, яке програмісти додають у код. Програма їх не бачить, але вони допомагають розібратись в великих програмах. Бо інколи напишеш програму і потім гадаєш, що вона таке робить і навіщо там ота змінна…

Давайте розберемо коментарі на прикладі програми на тему дуже старенького і милого мультика “Як Петрик П’яточкін слоників рахував”. Назва каже сама за себе. Слоненят рахуємо до десяти. Поїхали!

el=1 # змінна, для кількості слоненят
while el<=10: 
  '''
  Це код буде рахувати слоненят до 10-ти,
  як у старому мультику
  '''
  print( el, " слоненятко") # виводимо на екран номер слоненятка
  el+=1 # збільшуємо лічильник на 1

Погляньте на код. Адже коментарі дуже допомагають розібратись у програмі.

Коментарі бувають :

# в один рядок

або

 ”’
Коментар у декілька рядків
”’

А ось так виглядають коментарі в реальних програмах:

Додаткові завдання на урок

 1: Використавши картинку, спробуйте оновити програму з першого завдання, щоб вона могла перевіряти ще на одну мову. Алфавіт мови зі спеціальними символами можете загуглити в інтернеті.

Буква Ї, яка використана в прикладі окрім української, зустрічається ще в Старослов’янській церковній мові. Але нею зараз ніхто не говорить, тим паче в інтернеті. Тому Ї годиться для перевірки. Які ще літери зустрічаються тільки в українській? Додайте їх в перевірку(дивіться картинку)

 2:За прикладом розкладу юного блогера, напишіть свій розклад позашкільних занять (уроки писати не треба). Використайте continue, щоб позначити ваш вільний день. Якщо ви не відвідуєте гуртки, вигадайте гуртки й розклад для себе. (1-2 гуртки буде достатньо)

3: Напишіть програму, яка виводить всі букви слова “Instagram” до тих пір, доти доки не зустріне букву “g” – як тільки дійшли до неї – цикл спиняється.

4:Використовуючи коментар в один рядок, напишіть, свою улюблену соціальну мережу. Якщо такої немає, напишіть, що любите спілкуватись наживо.

5: Використовуючи коментар в кілька рядків, напишіть, імена  своїх улюблених блогерів у стовпчик (достатньо 2-3). Якщо не маєте улюблених блогерів, напишіть імена друзів. 

домашка з програмування

Домашнє завдання

1: Використовуючи коментарі:

  1. Напишіть короткий жарт. Закоментуйте його за допомогою коментаря в один рядок
  2. Напишіть інший жарт. Закоментуйте його за допомогою коментаря в декілька рядків 

2: Ця програма виводить номер місяця(січень=0, грудень=11) і після нього малює сердечко. Виберіть один або кілька  місяців, які вам не подобаються. Змініть програму так, щоб після такого місяця сердечко не виводилось (Скористайтеся continue і не забудьте додати  month+=1 в умову, щоб цикл не був нескінченним)

month=0
while month<12: 
  print("Місяць номер: ",month )
  print("..OO.OO..")
  print(".OOOOOOO." )
  print(".OOOOOOO." )
  print("..OOOOO.." )
  print("...OOO..." )
  print("....O...." )
  month+=1

3: Напишіть цикл, який буде виводити числа від 1 до 100. Як тільки програма дійде до числа 13, вона має спинитися (використайте команду break).

4: Соцмережа twitter стала колись дуже популярною через те, що всі пости в ній були короткі, не більше 140 символів.  Давайте пофантазуємо, як би виглядали твори українських класиків у цій мережі. Для цього у змінну twit запишіть якийсь вірш чи фразу якогось видатного письменника (скопіюй з інтернету), програма має виводити тільки перші 140 символів. Нижче подано програму, яка вже виводить твіт, але всі рядки в ній переплутані. Переставте рядки й програма працюватиме правильно!

twit="""
Садок вишневий коло хати,
Хрущі над вишнями гудуть,
Плугатарі з плугами йдуть,
Співають ідучи дівчата,
А матері вечерять ждуть.
Сім’я вечеря коло хати,
Вечірня зіронька встає.
Дочка вечерять подає,
А мати хоче научати,
Так соловейко не дає.
Поклала мати коло хати
Маленьких діточок своїх;
Сама заснула коло їх.
Затихло все, тілько дівчата
Та соловейко не затих."""
result=""
    i+=1 
    result+=twit[i]
print (result)
while i<140: 
i=0

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

Німецька моваä, ö, ß
Французька моваæ, œ, ÿ
Іспанська моваñ, ¡, ¿
Польська моваą, ę, ł, ż

Програма має мати ОДИН цикл, який перевірятиме все. Фразу скопіюйте звідси й вставте як значення змінної comment

Ось фрази для перевірки: 

  1. Este pequeño bloguero es fantástico. Buen trabajo! 
  2. Mon cœur est conquis. Super blog
  3. Der beste Blogger auf YouTube. Daran besteht kein Zweifel. Danke, die Veröffentlichung ist nur eine Bombe!
  4. Nie mam wystarczająco dużo słów, aby opisać, jak fajny okazał się ten film!

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

домашка з програмування

Level Up! (ускладнені завдання). 

1: Зробімо тренажер з математики.  Програма буде давати користувачу приклади на додавання чисел від 1 до 100 кожний. Якщо користувач відповів правильно, програма має похвалити та дати ще один приклад. Якщо він помилиться – програма каже про це і більше не запитує.

Підказка: завершити роботу циклу можна командою  break 

import random
print("Потренуймося додавати!")
while True: 
  a1=random.randint(1,100)
  a2=random.randint(1,100)
  # допиши свій код після цього рядка

Цікаво знати! Random – це бібліотека, яка дозволяє створювати випадкові числа.

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

Потренуймося додавати!
Приклад: 55+33=
88
Молодець!
Приклад: 74+10=
84
Молодець!
Приклад: 20+68=
88
Молодець!
Приклад: 68+92=
33
Ти програв

2: Додайте в попередню програму змінну Рахунок. Вона буде показувати, скільки прикладів розв’язано правильно. В кінці роботи програми виведіть цю змінну на екран. 

3: Додайте рівні для тренажера: новачок, середній і профі. 

Якщо користувач вибере “новачок”, він буде додавати два числа, кожне з яких від 1 до 10.

Якщо користувач вибере “середній”, він буде додавати два числа, кожне з яких від 1 до 100.

Якщо користувач вибере “профі”, він буде додавати два числа, кожне з яких від 1 до 1000.

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

    а) Об’явити бібліотеку на початку програми: import time

    б) Записати час старту: start_time = time.time()

   в) В кінці визначити кількість секунд, яка знадобилась на вирішення прикладів (запишіть це в змінну і виведіть на екран):   time.time() – start_time

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

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