Основне меню  

   

Реклама  

Скачуйте відеуроки для створення сайту за допомогою SMS Joomla 

реклама

 

 

   

Ми в Facebook  

Калькулятор расчета пеноблоков смотрите на этом ресурсе
Все о каркасном доме можно найти здесь http://stroidom-shop.ru
Как снять комнату в коммунальной квартире смотрите тут comintour.net
   

Реклама в мережі  

   

Статистика  

Користувачі
1
Статті
184
Перегляди статей
729689
   

Пошук по сайту  

   

Ми знаходимось тут  

   

Посібник Delphi  

ДОСТУПНИЙ ВИКЛАД,

ЦІКАВІ ПРИКЛАДИ, ВИХІДНІ КОДИ.

ЦІНА ДИСКА З МАТЕРІАЛАМИ - 500 грн. 

Якщо ваша карта обслуговується ПриватБанком тоді переведіть потрібну суму через Приват24 на карту    5168 7573 0556 9925 або натисніть на посилання "Перейти до оплати", щоб здійснити миттєвий платіж без комісії. Перейти до оплати!

 Звертайтесь за адресою еmail:kuzbyt@ukr.net

 
   

Посібник по C#  

 Вивчаємо сучасну мову  програмування C# 7.0

ПРОГРАМУЄМО в VISUAL STUDIO 2017

ЦІНА ДИСКА З МАТЕРІАЛАМИ - 1000 грн. 

Якщо ваша карта обслуговується ПриватБанком тоді переведіть потрібну суму через Приват24 на карту    5168 7573 0556 9925 або натисніть на посилання "Перейти до оплати", щоб здійснити миттєвий платіж без комісії. Перейти до оплати!

 Звертайтесь за адресою еmail:kuzbyt@ukr.net

 
   

Випадкове фото  

   

Наш відеоканал  

   

Відвідування сайту  

Яндекс.Метрика

 

   

Відеокурс по С++  

   

Рекомендуємо:  

   

Цикли

Отже, переходимо до циклів у Пітоні.

Вступ

Просто уявіть, що вам потрібно зробити так, щоб ваша програма виконала певно одну і ту ж саму дію 20 разів. Що ви у цьому випадку будете робити? Звичайно ви можете скопіювати один і то й же ж кусок коду 20 разів, і мати важко-читабельний код, вже не кажучи про її швидкість. Або натомість ви можете сказати комп’ютеру, щоб він повторював той самий кусочок коду між точкою А і точкою Б допоки ви самі не зупините його. У цьому випадку ми назвемо такий підхід циклом.

Цикл “while”

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

1

2

3

4

i = 0

while i < 10:

    i = i + 1

    print i

Як ця програмка працює? Давайте пройдемось по ній тепер українською рядок в рядок:

1

2

3

4

'i' тепер рівне 0

Допоки 'i' є менше, ніж 10 робимо наступне:

    Робимо 'i' на 1 більше, ніж воно зараз є.

    Виводимо на  екран значення 'i'

А тепер давайте спробуємо відтворити процес нашого коду комп’ютером. Тобто що він думає про кожен рядочок нашої програми:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

Є 'i' менше, ніж 10? ТАК (на першому колі циклу воно є 0)

Збільшуємо значення змінної 'i' на один (і тепер воно рівне 1)

Друкуємо значення змінної 'i' на екран (отримаємо 1)

 

Є 'i' менше, ніж 10? ТАК (воно рівне 1)

Збільшуємо значення змінної 'i' на один (і тепер воно рівне 2)

Друкуємо значення змінної 'i' на екран (отримаємо 2)

 

 .... так ми проходимо аж до 9 ...

 

Є 'i' менше, ніж 10? ТАК (воно рівне 9)

Збільшуємо значення змінної 'i' на один (і тепер воно рівне 10)

Друкуємо значення змінної 'i' на екран (отримаємо 10)

 

Є 'i' менше, ніж 10? НІ (воно рівне 10)

Тому цього разу тіло циклу 'while' не виконується

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

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

1

2

3

4

5

while {тут іде умова циклу при правдивості якої виконання циклу продовжується}:

    {це тіло циклу, воно виконується лише коли умова циклу наведена вище була True}

    {зверніть увагу, що тіло циклу починається з відступів, зазвичай 4 пробіли}

{а код на цьому місці вже не буде в тілі циклу}

{адже він не починається з відступів}

І накінець розробу циклу ‘while‘ приклад. Спробуйте в голові продумати те, як ‘пітон’ буде обробляти даний цикл і що в кінцевому результаті ви отримаєте на екрані після виконання даного прикладу. Якщо зовсім важко – тоді просто передрукуйте у свій файл і запустіть. Тоді спробуйте проаналізувати, чому вивід програми саме такий.

1

2

3

4

5

6

i = 10

while i != 0:

    print i

    i = i - 1

    print "i = ", i

print "End of 'while' cycle"

Пам’ятаєте, щоб написати свою програму, достатньо створити новий файл (у IDLE або текстовому редакторі на вибір), ввести код програми, і тоді запустити даний файл (пітон модуль) пітон інтерпретатором. Якщо виникаються труднощі – будь-ласка зверніться до наших попередніх уроківІнсталяція Пітона і Програми у Файлах.

Булеанівські (логічні) вирази (Булеан…  що це?!?)

В попередній секції ми розглянули оператор циклу ‘while‘. Мабуть у вас виникло питання, а що це за такі вирази, що йдуть одразу за ключовим словом ‘while‘ і закінчуються двома крапками ‘:’ . Це логічні(або ще їх називають булеанівські) вирази.

Це математичний вираз. Для тих, хто не пам’ятає, або і ніколи не знав, коротко: логічний вираз означає певне питання, на яке можна відповісти лише з допомогою слів ТАК (True) або НІ (False).

Наприклад, якщо ви хочете сказати, що ви одного росту з вашим сусідом, тоді ваш логічний вираз був би:

 

1

Мій Ріст == Ріст Мого Сусіда

І цей вираз був би правдивим (True). Якщо ж ви нижчий за вашого сусіда, тоді ви б сказали:

1

Мій Ріст < Ріст Мого Сусіда

І цей вираз також був би правдивим. Проте, якщо б ви сказали, що:

1

Мій Ріс > Ріст Мого Сусіда

Тоді результат даного виразу був би Хибним (False, ще можна сказати Негативним, Фальшивим, Неправдивим).

Так само працює наш цикл ‘while‘ з даним йому логічним виразом. Якщо логічний вираз є правдивим (True), лише тоді тіло цикла виконується. Знаючи це, тепер пройдемось по усіх існуючих логічнихоператорах  (це символи, що представляють певну дію) у Пітоні, які використовуютсья у логічних виразах. Більшість дій ви уже знаєте зі шкільного курсу математики:

Оператор

Його Значення

менше ніж

<=

менше ніж, або рівне

більше ніж

>=

більше ніж, або рівне

!=

не рівне

<> 

не рівне (альтернативне позначення)

==

дорівнює

Зверніть увагу, не плутайте оператор ‘=‘ з оператором ‘==‘. ‘=‘ – присвоює значення змінній зліва від нього значення те, що є справа. А оператор ‘==‘  каже чи значення ліворуч дорівнює значенню праворуч, таким чином вертає True або False.

Умовні оператори

Ок, виглядає ніби ми більш-менш розібралися з ‘while‘ циклом. Якщо є питання, або щось не достатньо дедально пояснено у даному уроці – будь-ласка коментуйте зі скаргами, і я обов’язково оновлю урок, і відповім на кожен комент!

Тепер, рухаємось далі – до умовних операторів.

Умовні оператори використовуються там, де потрібно запускати частину коду лише при певних умовах, а не завжди. Вони якимось чином подібні до ‘while‘ циклу, який ми щойно проходили з вами. Адже тіло даного циклу запускається лише коли умова циклу задовольняється (тобто є правдивою,True). Проте, тіло умовного оператора запускається лише один раз. От і вся різниця 

Найбільш поширеним умовним оператором у більшості мов програмування є оператор ‘if‘. І одразу до прикладу:

1

2

3

x = 1

if x == 1:

    print 'x = ', x

Це досить простий приклад, у якому ми скористалися змінною ‘x’. Їй спочатку присвоїли значення 1. А потім подивилися чи дійсно вона рівна 1, і якщо таки рівна, аж тоді роздрукували її значення на екран. Тобто оператор ‘if‘ у даному випадку просто перевірив чи значення змінної x рівне 1.

А тепер розглянемо загальну структуру побудови оператора ‘if‘:

 

1

2

3

4

5

6

if {логічний вираз, умова оператора if, при якій виконується тіло даного оператора}:

    {це тіло нашого умовного оператора}

    {виконується лише якщо умова оператора справджується, є True}

    {зверніть увагу що тіло оператора також має відступи, зазвичай 4 пробіла}

{а оце вже код поза нашим умовним оперетором, без відступів з початку рядка}

{виконується незалежно від умови оператора, завжди}

Ще давайте розберем трохи складніший випадок з оператором ‘if‘ + цикл ‘while‘:

1

2

3

4

5

6

i = 1

while i <= 20:

    if i % 2 == 0:

        print i

    i = i + 1

print 'done...'

Виглядає не так просто? Ми ускладнили цей приклад тим, що використали умовний оператор ‘if‘ всередині циклу ‘while‘. Як бачимо, цикл буде запускати своє тіло 20 разів (n <= 20). Але рядочок ‘print i‘ не кожен раз запускається, а лише коли задовільняється умова оператора всередині, якого він знаходиться (i % 2 == 0). Пам’ятаєте, що означеє операція % ? Так, правильно, остача від ділення. Тобто, якщо остача від ділення  значення змінної ‘i‘ на 2 є нуль (а це як ми знаємо з математики, означає що значенням буде парне число), лише тоді значення змінної ‘i‘ буде виведено на екран.

Тобто даний кусок коду друкує усі парні числа від 1 до 20. Тепер звучить просто? 

‘else’ та ‘elif’ – Коли це не є Правдивим (True) виразом

Є багато варіантів використання ‘if‘ оператора. Але, що робити коли умова даного оператора є Хибною (False), тіло оператора відповідно не виконується, але ви хочете робити щось інше у цьому випадку?

Для таких випадків ми маємо доповнення до умовного оператору ‘else‘ та ‘elif‘.

else‘ просто каже комп’ютеру, що робити у випадку коли умова оператора ‘if‘ не задовольняється. Наприклад:

1

2

3

4

5

k = 1

if k > 5:

    print 'no chances!'

else:

    print 'to be printed'

k‘ є меншим ніж п’ять, тому виконується код що є під оператором ‘else‘, а код, що є під ‘if‘ – ніколи не буде виконуватися у даному випадку.

Тепер ‘elif‘. Цей оператор є просто скороченнням для того щоб сказати ‘else if‘. Тобто він виконується не лише коли умова головного ‘if‘ оператора не задовольняється, але ще й коли його власна умова (так, elif повенен мати власну умову, логічний вираз, навідміну від оператора ‘else‘) задовольняється. Наприклад:

1

2

3

4

5

a = 4

if a > 50:

    print 'this is wrong!'

elif a < 8:

    print 'this is right!'

Зрозуміло, що ‘if‘ умова поверне False, тому Пітон піде дивитися, що ж там з ‘elif‘. Він перевірить умову ‘elif‘ (a < 8), яка у даному випадку задовольняється (є правдива), тому тіло оператора ‘elif‘ виконається!

Зверніть увагу, що як ‘if‘, так і ‘else‘ та ‘elif‘, мають своє власне тіло, код під ними що починається з відступів. Все що без відступів, вже не є частиною даних операторів.

Ще один приклад. Тепер з використанням усіх трьох операторів одночасно!

1

2

3

4

5

6

7

8

if {логічний вираз 1}:

    {виконується якщо вираз 1 є True}

elif {логічний вираз 2}:

    {виконується якщо вираз 2 є True}

elif {логічний вираз 3}:

    {виконується якщо вираз 3 є True}

else:

    {виконується якщо ніякий з попередніх виразів не є правдивим}

Тобто ми можемо мати скільки завгодно ‘elif‘ операторів. Але лише один ‘if‘, і не більше одного ‘else‘ оператора. Оператори виконується в порядку їх використання. Також ‘else‘ мусить бути в самому кінці як показано у прикладі зверху, після ‘if’ i ‘elif‘.

Також зверніть увагу, після кожного логічного виразу ми маємо двокрапку ‘:‘. Він є обов’язковим для того, щоб дати знати інтерпретатору що це кінець умови оператора і далі за ним слідує початок тіла умовного оператора (або оператора циклу).

Відступи

Ще раз хочу наголосити, що код який запускається якщо умови є задоволені (True), Повинен Починатися з Відступів. Це означає, що якщо ви хочете щоб Пітон запускав наступні 5 рядочків коду всередині ‘while’ циклу, ви повинні ставити певну (однакову, зазвичай 4 пробіли) кількість пробілів на початку кожного з тих 5 рядочків коду.

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

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

i = 10

while i > 0:

    print i

    if i > 5:

        print "Bigger than 5!"

    elif i % 2 != 0:

        print "this is ODD number"

        print "and i <= 5"

    else:

        print "i <= 5"

        print "this is EVEN number, not ODD"

        print "special number! :)"

    i = i - 1

print "we are after 'while' loop"

print "the end"

У даному прикладі є два важливих слова англійською мовою. ODD – це непарне число, EVEN – це парне число. Якщо виникатимуть проблеми з коментарями англійською чи певними словами, будь-ласка, звертайтеся до онлайн перекладача.

Зверніть увагу на 3 рівні відступів у даному прикладі:

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

2.      кожен рядок на другому рівні починається з чотирьох відступів. Коли там є ‘if‘ оператор або оператор циклу на першому рівні, все що є на другому рівні після цього – буде частиною того умовного оператора або оператора циклу. Аж допоки наступний рядок не почнеться без відступів, тобто буде частиною першого рівня.

3.      Кожен рядок на третьому рівні починається відповідно з 8 пробілів. В даному прикладі третій рівень – це в основному тіло умовного оператора ‘if‘ та його колег: ‘elif‘ i ‘else‘.

4.      І це може продовжуватися безкінечно, поки мізки в людини що пише код не закіплять і перестане розуміти що вона пише  Насправді у всьому треба шукати золоту середину, якщо у вас виходить більше ніж 5-10 вкладень, значить щось не так, і швидше за все можна краще переписати код.

І на завершення…

Є ще інший оператор циклу в Пітоні – ‘for‘, але його ми розберемо у одному з наступних уроків, після того як вивчимо що таке списки.

А наразі, можу вас привітати з успішним завершенням непростого уроку про цикли та умовні вирази і оператори в Пітоні!

В наступному уроці ми з вами перейдемо до вивчення функцій, та роботи з вводом від користувача. Буде цікаво!

Прошу коментувати з вашими питаннями, а також запитами для покращення уроку. Буду радий допомогти!

 

 

Додати коментар

Захисний код
Оновити

   

Поділіться з друзями

 
   

Сайт для перевірки своїх знань з програмування на сайті:http://www.quizful.net/test

Онлайн тести  для програмістів: https://proghub.ru/


 Розробка сайтів, інтернет-магазинів під ключ. Створення програмного забезпечення для обліку в магазинах,

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

 

Звертайтесь за адресою email:kuzbyt@ukr.net

 

 

© (C) Sambir, I.Kuzbyt