lists-funcc-mix.pptx
- Количество слайдов: 20
Python 101: Киев 2016
Ввод/Вывод данных >>> input() 1234 '1234' >>> input() Hello World! 'Hello World!' >>> input() >>> input('Введите число: ') Введите число: 10 '10' >>> float(input('Введите число: ')) Введите число: 10 10. 0 user. Name = input('What is your name? ')
Ввод/Вывод данных >>> print() # Выведет пустую строку >>> x = ‘spam’ >>> y = 99 >>> z = [‘eggs’] >>> print('Ваши объекты', x, y, z) У команды print много дополнительных возможностей, для более продвинутого вывода смотрите документацию
Списки
Lists Последовательности объектов Beatles = [“John”, “Paul”, “George”, “Ringo”] grades = [82, 93, 67, 99, 100] Их типы type(Beatles) type(grades)
Индексы Beatles = [“John”, “Paul”, “George”, “Ringo”] Beatles[0] ‘John‘ [“John”, “Paul”, “George”, “Ringo”] 0 1 2 Индексы всегда начинаются с нуля 3
Рассмотрим подробнее b=["Paul", "John"] print(b) print(b[0][0]) print(b[0][0][0]) print(type(b)) print(type(b[1])) print(type(b[0][0][0]))
Циклы
Loops Фрагменты кода выполнение которых повторяются Циклы по счетчику Циклы по условию
По счетчику for mynum in [1, 2, 3, 4, 5]: print "Hello", mynum Hello 1 Hello 2 Hello 3 Hello 4 Hello 5 for mynum in range(6): print "Hello", mynum
Циклы по условию count = 0 while (count print count The count is: < 4): 'The count is: ', count = count + 1 0 1 2 3
for i in 'hello world': . . . if i == 'o': . . . continue. . . print(i * 2, end='') for i in 'hello world': . . . if i == 'o': . . . break. . . print(i * 2, end='')
Задания Посчитать сумму и произведение чисел в списке Вывести из списка все элементы кратные 3 и их сумму Найти максимальный элемент в списке
Функции
>>> def beverage(): print ‘Have you had a cup of coffee today? ’ >>> beverage() Have you had a cup of coffee today? Функция что-то печатает, могла бы принимать входные параметры
>>> def max_coffee_per_day(weight): return 2+3. 14*weight/40 >>> print(max_coffee_per_day(67)) функция или должна возвращать результат, как правило не должна делать ввод/вывод
Зачем нужны функции? Чтобы избежать повторения одного и того же кода в разных местах программы, например в нескольких местах нужно расчитать допустимое для пользователя число чашек кофе Чтобы разделить задачи в команде: каждый участник отвечает за написание конкретной функции или функций, для удобства функции можно писать в отдельных файлах Чтобы улучшить надежность программы ведь одну функцию проще проверить чем всю програму
Задания Переписать кодирование и декодирование текста в функцию Переписать треугольники и fizzbuzz в виде функций Написать программу для подсчета частоты символов в определенной фразе Два варианта программы о возрасте, одна возвращает фразу которую нужно печатать, другая сама спрашивает возраст и делает печать
Расширенные строки и списки В Python также поддерживаются отрицательные индексы, при этом нумерация идёт с конца, например: >>> a = [1, 3, 8, 7] >>> a[-1] 7 >>> a[-4] 1 >>> a[-5] Traceback (most recent call last): File "
В Python, кроме индексов, существуют ещё и срезы. item[START: STOP: STEP] - берёт срез от номера START, до STOP (не включая его), с шагом STEP. По умолчанию START = 0, STOP = длине объекта, STEP = 1. Соответственно, какие-нибудь (а возможно, и все) параметры могут быть опущены. a = [1, 3, 8, 7] a[: ] a[1: ] a[: 3] a[: : 2] Также все эти параметры могут быть и отрицательными: >>> a = [1, 3, 8, 7] >>> a[: : -1] [7, 8, 3, 1] >>> a[: -2] [1, 3] >>> a[-2: : -1] [8, 3, 1] >>> a[1: 4: -1] []


