- Купи батон колбасы, и если будут яйца, - то десяток.
Возвращается муж с десятью батонами колбасы.
Потому что были яйца.
Лопата, да, но иллюстрирует принцип условия в жизни - если што-то делай то-то.
Рассмотрим пример. Напечатать все четные числа от 1 до 20.
Первый шаг при решении любой задачи - разделить задачу на маленькие под-задачи, решение которых не вызывает у нас сомнений. После этого писать и проверять каждый из них по очереди. Программа как дом строится из блоков, один за другим, а не возникает готовая из воздуха.
Во первых, напечатаем все числа от 1 до 20, это мы умеем:
i=0
while i < 20:
i=i+1
print i
Теперь, добавим условие - печатать только четные числа.
Что такое четное число? То которое делится на 2 без остатка.
Как проверить деление на 2 без остатка? Вспоминаем первый урок и знак %.
Итак, нам надо условие - если i % 2 равен 0.
В переводе с русского на пайтон, получим:
if i % 2 == 0:Важно отметить, для обозначения равенства, используется символ "==". Символ "=" используется для присваивания. Соединяем:
i=0
while i < 20:
if i % 2 == 0:
print i
i=i+1
Обратите внимание на вложенность - цикл > условие > печать.
Теперь нас просят повторить, но на этот раз распечатать только нечетные.
Что такое нечетные? Это те которые не четные. (Логично, да ).
Итого все что нам надо изменить, это символ равно (==) на не равно (!=).
i=0
while i < 20:
if i % 2 != 0:
print i
i=i+1
Часто нам нужна возможность не только совершить какое-то действие если условие выполнилось, но и в обратном случае. Распечатаем для чисел от 1 до 10, четные они или нет:
i=0
while i < 10:
if i % 2 == 0:
print i, "chetnoe"
else:
print i, "nechetnoe"
i=i+1
Ну и последнее, если мы хотим более сложные условия, из нескольких проверок, мы их связываем логическими союзами: "and", "or".
Союз "and" требует чтобы выполнялись оба условия, а союз "or" любое из них.
Числа больше 20 и меньше 30 -
if (i > 20) and (i < 30):
Числа которые делятся без остатка или на 2 или на 3 -
if (i % 2 == 0) or (i % 3 == 0):
Отделение каждого условия скобочками поможет сохранить разум и вменяемость длинными зимними вечерами.
Домашнее задание:
Напишите программу которая печатает числа от 1 до 100.
Вместо чисел которые делятся на 3, выводите слово Fizz.
Вместо чисел которые делятся на 5, выводите слово Buzz.
Если число делится и на 3 и на 5, выводите FizzBuzz.
Пример:
1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, 11, Fizz, 13, 14, FizzBuzz, 16 ...