Уроки Python 4 - Списки и циклы

Уроки Python 4 - Списки и циклы

Обычные переменные хороши для хранения одиночных значений, будь то строка или число. Но иногда возникает задача хранения группы похожих переменных. Здесь нам на помощь приходят массивы, или как их называют в Python - списки. Список состоит из двух квадратных скобок, и значений, которые перечислены через запятую. Например список может быть таким

a=[67,5,90,20,30]
Это список, который содержит элементы типа число. Элементов в списках может быть сколько угодно. Также, можно сделать список строк:
b=['Маша', 'Ваня', 'Лена', 'Марина', 'Арнольд']
Чтобы получить одно из значений списка, можно обратиться к его порядковому номеру. Нумерация в списках идёт не с единицы, а с нуля, то есть 0,1,2,3,4... Например:
print(a[2])
напечатает цифру 90 которая является третьим элементов в списке который был объявлен выше.
print(a[0])
напечатает 67
print(b[1])
напечатает строчку 'Ваня' Мы можем добавить в уже существующий список новое значение с помощью команды append
b.append('Дима')
Теперь наш список выглядит так
b=['Маша', 'Ваня', 'Лена', 'Марина', 'Арнольд', 'Дима']
Если мы хотим обратиться к какому-то элементу списка, считая от конца этого списка, можно писать отрицательные числа. Например, последний элемент списка имеет индекс -1.
print(b[-1])
Напечатает 'Дима' Любой список можно отсортировать по возрастанию или по алфавиту.
a=[67,5,90,20,30]
a.sort()
После выполнения функции a.sort() список примет вид:
a=[5,20,30,67,90]
Теперь перейдем к изучению циклов - они прочно свзаны со списками, поэтому их тоже нужно изучить за этот урок. Цикл - это блок команд, который повторяется определенное количество раз. Существует два вида циклов - for и while. Цикл for используется для прохода по какому-то списку, или по буквам какой-то строки, в общем по повторяющимся элементам.
a=[5,20,30,67,90]
for x in a:
    x=x*2
    print(x)
В данном цикле в переменную х по очереди помещаются все элементы спика a. Команды которые находятся внутри повторяющейся части цикла отделены четырьмя пробелами, и могут использовать переменную x, которая при каждом повторении цикла меняет своё значение, становясь равной очередному элементу списка a. Эта программа просто возьмёт каждый элемент списка a и умножит его на 2 а результат выведет на экран с помощбю команды print В итоге, на экране напечатаются все числа из списка, умноженные на 2. 10 40 60 134 180 Давайте создадим список правителей России за последнее время
mas=['Ленин', 'Сталин', 'Хрущёв', 'Брежнев', 'Горбачёв', 'Путин']
Ах да, Медведева забыли. Нужно его тоже добавить.
mas.append('Медведев')
А теперь напечатаем все элементы списка
for x in mas:
    print('правил '+x+' а после него... ')
Вот что напечатает нам программа: правил Ленин а после него... правил Сталин а после него... правил Хрущёв а после него... правил Брежнев а после него... правил Горбачёв а после него... правил Путин а после него... правил Медведев а после него... Список немного неполный, поскольку ВВП вернулся, но это нюансы )) Теперь изучим список while. Слово while переводится с английского 'пока выполняется условие'. То есть, команды внутри цикла будут выполняться до тех пор, пока выполняется условие, обзначенное в скобках. Например:
a=1
while(a<10):
    print(a*a)
    a=a+1
Этот несложный цикл будет выполняться до тех пор пока значение переменной a меньше 10. Так как при каждом повторении цикла, значение переменной a увеличивается на 1, цикл выполнится 9 раз, и напечатает нам квадраты чисел от 1 до 9. 1 4 9 16 25 36 49 64 81 Обратите внимание, что переменная, используемая в условии цикла while должна быть заранее определена. В нашем случае мы перед началом цикла присвоили ей значение a=1. Это нужно потому, что если переменная не определена, цикл while не может понять больше она десяти или нет, и выдает ошибку. Давайте сделаем программу, которая загадывает загадку до тех пор, пока пользователь не введет правильный ответ. Так как правильный ответ может начинаться как с большой так и с маленькой буквы, в условии используем оба варианта.
print('Висит груша, нельзя скушать. Что это такое?')
s=''
while((s!='Лампочка') and (s!='лампочка')):
    s=input('Введите ответ и нажмите Enter: ')
print('Вы отгадали загадку!')
В следующем уроке мы научимся останавливать циклы до того как они прокрутят все число повторений, и вообще разберём тему циклов и списков более подробно.

Уроки Python | Списки и циклы Лого Pythono.ru Уроки Python 4 - Списки и циклы