20_zanyatie_Shkoly_Koda.pptx
- Количество слайдов: 52
20 занятие Школа: : Кода
ЭТАЛОННЫЙ КОД 2
Сумма 3 х чисел • Запросить у пользователя 3 числа. Вывести их сумму № Пример ввода вывода 1 5 8 3 16 2 4 2 11 17 3
# -*- coding: utf-8 -*print "Добро пожаловать в программу сложения 3 х чисел" print "Введите 1 число" a = int(raw_input()) print "Введите 2 число" b = int(raw_input()) print "Введите 3 число" c = int(raw_input()) print "Сумма чисел равна", a + b + c Добро пожаловать в программу сложения 3 х чисел Введите 1 число 4 5 Введите 2 число 2 8 Введите 3 число 11 3 Сумма чисел равна 16 17 1 5 8 3 16 2 4 2 11 17 4
18" src="https://present5.com/presentation/-128463967_439487179/image-5.jpg" alt="if temp == 18 and condition =="Солнечно": print "Оба True" elif temp > 18" /> if temp == 18 and condition =="Солнечно": print "Оба True" elif temp > 18 or condition =="Солнечно": print "Один из них True или оба True" else: print "Оба False" 5
FOR 6
for НАЗВАНИЕ_ПЕРЕМЕННОЙ in СПИСОК: # что делать на каждой итерации 7
0 1 2 3 4 for i in [5, 3, 8, 12, 4]: print i итерация 5 3 8 12 4 значение i 1 5 2 3 3 8 4 12 5 4 8
a = range(5) a = [0, 1, 2, 3, 4] for i in a: print i for i in a: print 20 0 1 2 3 4 20 20 20 9
humans = [“Лена”, ”Оля”] for name in humans: print name Лена Оля print name[0] print name[1] Лена Оля 10
humans = [“Лена”, ”Оля”] for name in humans: print name Лена Оля for i in range(len(humans)): print humans[i] Лена Оля for i, name in enumerate(humans): print i, name 0 Лена 1 Оля 11
МНОГОМЕРНЫЕ СПИСКИ 12
65 0 18 0 96 0 33 0 32 1 85 1 11 1 78 1 0 1 2 3 13
a = [[1, 2], [3, 4]] a = [ [1, 2], [3, 4] ] print a[0][0] print a[1][0] [1, 2] 1 3 14
# -*- coding: utf-8 -*humans = [ “Лена”, ”Оля” ] for name in humans: print name Лена Оля 15
# -*- coding: utf-8 -*humans = [ [u“Лена”, u”Воронова”], [u“Оля”, u”Куницына”] ] print humans[0][0] print humans[0][1] print humans[1][0][2] Лена Воронова Куницына я 16
ВЛОЖЕННЫЕ ЦИКЛЫ 17
# -*- coding: utf-8 -*humans = [ ["Лена", "Воронова"], ["Оля", "Куницына"] ] for row in humans: for col in row: print col, print Лена Воронова Оля Куницына 18
matrix = [ [6, 7, 8], [10, 11, 12], [14, 15, 16], ] 6 7 8 10 11 12 14 15 16 print matrix[0][0], matrix[0][1], matrix[0][2], . . for row in range(len(matrix)): for col in range(len(matrix[row])): print matrix[row][col], 6 7 8 10 11 12 14 15 16 19
WHILE 20
k = 3 while 3 alse 0: k F 0 1 2 > print “Ура” k -= 1 Ура Ура проверки № 1 2 3 k до 3 2 1 4 k после 2 1 0 0 21
while УСЛОВНОЕ_ВЫРАЖЕНИЕ: # что повторять, пока условное # выражение будет правдой (True) 22
# -*- coding: utf-8 -*print "Введите положительное целое число" Введите положитель ь Ошибка. Попробуйте -8 Ошибка. Попробуйте 3 Ok while True: raw_res = raw_input() if raw_res. isdigit(): res = int(raw_res) break else: print "Ошибка. Попробуйте еще раз" print "Ok" 23
АЛГОРИТМ ПОИСКА МИНИМАЛЬНОГО ЭЛЕМЕНТА СПИСКА 24
numbers = [5, 7, 9, 1, -2, 3] min_val = numbers[0] for item in numbers: if item < min_val: min_val = item print min_val -2 25
В python все просто numbers = [5, 7, 9, 1, -2, 3] print min(numbers) -2 print max(numbers) 9 26
SPLIT 27
curr_time = “ 18: 45: 03” time_list = curr_time. split(‘: ’) print time_list ['18', '45', '03'] today = “ 16/12/2015” today_list = today. split(‘/’) print today_list ['16', ‘ 12', ‘ 2015'] 28
a = “ 18: 45: 03” print a. split(‘: ’) print a. split(‘: ’, 1) print a. rsplit(‘: ’, 1) ['18', '45', '03'] ['18', '45: 03'] ['18: 45', '03'] 29
today = “ 16/12/2015” today_list = today. split(‘/’) print today_list ['16', ‘ 12', ‘ 2015'] day_list = [‘ 25’, ’ 01’, ‘ 2015’] print “-”. join(day_list) 25 -01 -2015 30
IN 31
# -*- coding: utf-8 -*text = u """Я хочу посчитать кол-во гласных букв в этом тексте """ upper_count = lower_count = 0 for char in text: if char == u'a' or char == u'о' or char == u'э' or char == u'и' or char == u'у' or char == u'ы' or char == u'е' or char == u'ё' or char == u'ю' or char == u'я': lower_count += 1 elif char == u'А' or char == u'О' or char == u'Э' or char == u'И' or char == u'У' or char == u'Ы' or char == u'Е' or char == u'Ё' or char == u'Ю' or char == u'Я': upper_count += 1 print upper_count, lower_count 32
# -*- coding: utf-8 -*text = u"""Я хочу посчитать кол-во гласных букв в этом тексте""" upper_count = lower_count = 0 for char in text: if char in u'aоэиуыеёюя': lower_count += 1 elif char in u'АОЭИУЫЕЁЮЯ': upper_count += 1 print upper_count, lower_count 33
curr_list = [1, 2, 5] print 3 in curr_list False print 2 in curr_list True print u“я” in u“семья” True 34
КОРТЕЖ (TUPLE) 35
birth_date = (5, 12, 1987) print birth_date[0] 5 birth_date[0] = 12 Traceback (most recent call last): File "Z: /test/tuple_test. py", line 3, in
NONE 37
# -*- coding: utf-8 -*humans = [ ["Лена", "Воронова“, “ 25/02/1993”], ["Оля", "Куницына“, None] ] for item in humans: print item[0], item[1] Лена Воронова 25/02/1993 Оля Куницына None 38
# -*- coding: utf-8 -*humans = [ ["master 129", "Малахов", "Арсений", "Викторович", "25/01/1993", "+7(918)646 -55 -91"], ["airfix", "Мадатов", "Василий", "Евгеньевич", "30/11/1995", "+7(951)345 -83 -17"], ["kr 0 ff", "Малинин", "Петр", "Степанович", "18/12/1996", "+7(938)044 -15 -18"], ] print "Введите логин пользователя" login = raw_input() person = None for item in humans: if login == item[0]: person = item if person: print "Совпадение найдено: " print " ". join(person[1: ]) # ВНИМАНИЕ!! join объединяет только строки else: print "Результат не найден" Введите логин пользователя airfix Совпадение найдено: Мадатов Василий Евгеньевич 30/11/1995 +7(951)345 -83 -17 39
СЛОВАРЬ (DICT) 40
# -*- coding: utf-8 -*person = { ‘name’: "Лена", ‘last_name’: "Воронова“, ‘birth_date’: “ 25. 11. 1998" } print person[“last_name”], person[‘name’] print person[‘birth_date’] Лена Воронова 25. 11. 1998 41
person = { ‘name’: “Morgan", ‘last_name’: “Freeman“, ‘birth_date’: “ 1. 6. 1937", ‘height’: 188 } print person. keys() print person. values() ['birth_date', 'last_name', 'height'] ['1. 6. 1937', 'Freeman', 'Morgan', 188] 42
person = { ‘name’: “Morgan", ‘last_name’: “Freeman“, ‘birth_date’: “ 1. 6. 1937", ‘height’: 188 } print person. items() [('birth_date', '1. 6. 1937'), ('last_name', 'Freeman'), ('name', 'Morgan'), ('height', 1. 88)] 43
person = { ‘name’: “Morgan", ‘last_name’: “Freeman“, ‘birth_date’: “ 1. 6. 1937", ‘height’: 188 } for k, v in person. items(): print k, v birth_date 1. 6. 1937 last_name Freeman name Morgan height 1. 88 44
person = { ‘name’: “Morgan", ‘last_name’: “Freeman“, ‘birth_date’: “ 1. 6. 1937", ‘height’: 188 } print person[‘age’] Traceback (most recent call last): File "Z: /test/dict_key_test. py", line 3, in
person = { ‘name’: “Morgan", ‘last_name’: “Freeman“, ‘birth_date’: “ 1. 6. 1937", ‘height’: 188 } print person. get(‘age’) None print person. get(‘age’, 0) 0 46
Зарезервированные имена • • sum max min len range enumerate id import • • int float bool str list dict tuple class 47
ИТОГИ 48
• for ** in ****: (пройти по **** и записать каждый элемент в **) • while ***: (повторять действия пока *** == True) • enumerate • многомерные списки: humans[0][1] 49
• • None кортеж (1, 2, 3) список [1, 2, 3] словарь {‘ключ’: “значение”} – keys() – values() – items() 50
• • • split(‘: ’), rsplit(‘-’, 1) “: ”. join(list) min max in get(key, default) 51
http: //pep 8. ru/doc/pep 8/ 52