ЭТАЛОННЫЙ КОД 1
Сумма 3 х чисел • Запросить у пользователя 3 числа. Вывести их сумму № Пример ввода вывода 1 5 8 3 16 2 4 2 11 17 2
print ("Добро пожаловать в программу сложения 3 х чисел «) print ("Введите 1 число") a = int(input()) print ("Введите 2 число") b = int(input()) print ("Введите 3 число") c = int(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 3
18" src="https://present5.com/presentation/-154307158_455579039/image-4.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" 4
FOR 5
for НАЗВАНИЕ_ПЕРЕМЕННОЙ in СПИСОК: # что делать на каждой итерации 6
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 7
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 8
humans = [“Лена”, ”Оля”] for name in humans: print (name) Лена Оля print (name[0]) print (name[1]) Лена Оля 9
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 Оля 10
МНОГОМЕРНЫЕ СПИСКИ 11
65 0 18 0 96 0 33 0 32 1 85 1 11 1 78 1 0 1 2 3 12
a = [[1, 2], [3, 4]] a = [ [1, 2], [3, 4] ] print (a[0]) print (a[0][0]) print (a[1][0]) [1, 2] 1 3 13
humans = [ “Лена”, ”Оля” ] for name in humans: print (name) Лена Оля 14
humans = [ [u“Лена”, u”Воронова”], [u“Оля”, u”Куницына”] ] print (humans[0][0]) print (humans[0][1]) print (humans[1][0][2]) Лена Воронова Куницына я 15
ВЛОЖЕННЫЕ ЦИКЛЫ 16
humans = [ ["Лена", "Воронова"], ["Оля", "Куницына"] ] for row in humans: for col in row: print (col+" ") print() Лена Воронова Оля Куницына 17
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 18
WHILE 19
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 20
while УСЛОВНОЕ_ВЫРАЖЕНИЕ: # что повторять, пока условное # выражение будет правдой (True) 21
АЛГОРИТМ ПОИСКА МИНИМАЛЬНОГО ЭЛЕМЕНТА СПИСКА 23
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 24
В python все просто numbers = [5, 7, 9, 1, -2, 3] print (min(numbers)) -2 print (max(numbers)) 9 25
SPLIT 26
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'] 27
a = “ 18: 45: 03” print (a. split(‘: ’)) print (a. split(‘: ’, 1)) print (a. rsplit(‘: ’, 1)) ['18', '45', '03'] ['18', '45: 03'] ['18: 45', '03'] 28
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 29
IN 30
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) 31
text = """Я хочу посчитать кол-во гласных букв в этом тексте""" 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) 32
curr_list = [1, 2, 5] print (3 in curr_list) False print (2 in curr_list) True print (“я” in u“семья”) True 33
КОРТЕЖ (TUPLE) 34
birth_date = (5, 12, 1987) print (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 36
humans = [ ["Лена", "Воронова“, “ 25/02/1993”], ["Оля", "Куницына“, None] ] for item in humans: print (item[0], item[1]) Лена Воронова 25/02/1993 Оля Куницына None 37
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 = 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 38
СЛОВАРЬ (DICT) 39
person = { ‘name’: "Лена", ‘last_name’: "Воронова“, ‘birth_date’: “ 25. 11. 1998" } print (person[“last_name”], person[‘name’]) print (person[‘birth_date’]) Лена Воронова 25. 11. 1998 40
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] 41
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)] 42
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 43
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 45
Зарезервированные имена • • sum max min len range enumerate id import • • int float bool str list dict tuple class 46
ИТОГИ 47
• for ** in ****: (пройти по **** и записать каждый элемент в **) • while ***: (повторять действия пока *** == True) • enumerate • многомерные списки: humans[0][1] 48
• • None кортеж (1, 2, 3) список [1, 2, 3] словарь {‘ключ’: “значение”} – keys() – values() – items() 49
• • • split(‘: ’), rsplit(‘-’, 1) “: ”. join(list) min max in get(key, default) 50
http: //pep 8. ru/doc/pep 8/ 51