Давайте воспользуемся этими знаниями для решения практической задачи, а именно посмотрим счастливый ли попался нам билет в трамвае. У билета есть номер. Народное поверье гласит, что если сумма первых трех цифр совпадает с суммой вторых трех цифр, то этот билет счастливый. Напишем программу, которая это проверит. Для этого спросим номер купленного билета с клавиатуры и оставим его строкой, чтобы к каждой отдельной цифре мы могли обратиться по ее индексу. Создадим две переменные для хранения сумм первых трех цифр и второй тройки цифр, и пока скажем, что эти переменные равны нулю, потому что мы еще не начали анализировать наш номер, а компьютеру нужно, чтобы внутри переменной что-то лежало. Теперь попросим компьютер пройти по первым трем цифрам, то есть по индексам "0", "1" и "2", остановившись перед индексом "3", и каждую цифру, превратив в целое число, добавим к нашей переменной с суммой первых трех цифр. То же самое сделаем со вторыми тремя цифрами. Попросим компьютер пройти по индексам с третьего, остановившись перед шестым, то есть по индексам "3", "4" и "5", и добавим соответствующие цифры к переменной, хранящей сумму второй тройки цифр. После того как у нас заполнились две наши переменные, мы посчитали сумму первых трех и последних трех цифр, мы можем сравнить, что эти суммы одинаковые, и, если это так, сказать, что билет счастливый. В противном случае, если эти суммы отличаются, сказать, что не в этот раз. Давайте посмотрим, как это работает. Воспользуемся нашей программой для номера билета, который точно счастливым не является. Мы видим, что компьютер не считает номер билета "111234" счастливым. Теперь посмотрим, как компьютер отреагирует на билет, где суммы первой и второй тройки цифр совпадают. Запустим ту же программу. Вот возьмем такой симметричный номер, и мы видим, что компьютер согласен с нами, что этот билет действительно счастливый. Иногда счастливость билета определяют по-другому. Иногда вместо того, чтобы считать первую и вторую тройку цифр, считают все четные и нечетные, все цифры на четных и нечетных местах. То есть цифру "5", цифру "6" и цифру "8" складывают вместе и сравнивают с результатом сложения цифры "6", цифры "4" и цифры "6" в конце из билета на слайде. Давайте попробуем переписать нашу программу. Скопируем полностью исходный код, только теперь в четвертой и шестой строке попросим компьютер идти не по первым и последним трем цифрам, а попросим сначала пройти по всем цифрам на четных номерах, то есть начать с нулевого индекса, закончить перед шестым, брать каждый второй индекс. Компьютер пройдет по индексам "0", "2" и "4". Во втором же случае мы попросим компьютер идти с первого индекса, с первой цифры опять же до шестой и брать каждый второй индекс подряд. Компьютер пройдет по цифрам под номерами "1", "3" и "5". Остальная логика работы программы не менялась. Если две суммы совпадут, компьютер скажет, что билет счастливый. Давайте посмотрим, как это работает. Теперь возьмем номер билета, у которого цифры на четных позициях равны, допустим, один, два и три, на нечетных позициях, соответственно, тоже равны один, два и три. Так как компьютер все считает с нуля, понятие четности и нечетности здесь несколько меняется. Посмотрим, согласен ли компьютер с тем, что сумма цифр один, два и три совпадает со второй суммой цифр, состоящей из единицы, двойки и тройки. Да, здорово. И наконец, конечно, мы можем использовать цикл for не только для перебора индексов, но и просто для работы с какими-то числовыми промежутками. Например, мы можем вывести на экран квадраты всех чисел от A до B, для чего мы можем узнать два числа A и B, попросить компьютер перебрать все числа между ними. Так как компьютер будет останавливаться перед числом B, чтобы число B тоже попало в наш список квадратов, мы должны идти до следующего числа за ним. Попросим компьютер вывести каждое число и квадрат этого числа, например, все квадраты от одного до четырех включительно. Здорово! В следующий раз мы с вами посмотрим, как заменять элементы списка с помощью цикла for.