| ПУТЕВОДИТЕЛЬ ПО СИНТАКСУ И САХАРУ В PYTHON | На главную BearWakes |
| # СРЕДНЕЕ АРИФМЕТИЧЕСКОЕ ЭЛЕМЕНТОВ МАССИВА | |
| list1 = [[1, 7, 8], [9, 7, 102], [102, 106, 105], [100, 99, 98, 103], [1, 2, 3]] | from statistics import mean |
| print(sum(map(sum, list1)) / sum(map(len, list1))) | list1 = [[1, 7, 8], [9, 7, 102], [102, 106, 105], [100, 99, 98, 103], [1, 2, 3]] |
| print(mean(sum(list1, []))) | |
| list1 = [[1, 7, 8], [9, 7, 102], [102, 106, 105], [100, 99, 98, 103], [1, 2, 3]] | list1 = [[1, 7, 8], [9, 7, 102], [102, 106, 105], [100, 99, 98, 103], [1, 2, 3]] |
| list2 = [j for i in list1 for j in i] | list2 = sum(list1, []) # sum есть 2й арг, если его не указывать - это ноль. |
| print(sum(list2)/len(list2)) | print(sum(list2) / len(list2)) |
| list1 = [[1, 7, 8], [9, 7, 102], [102, 106, 105], [100, 99, 98, 103], [1, 2, 3]] | list1 = [[1, 7, 8], [9, 7, 102], [102, 106, 105], [100, 99, 98, 103], [1, 2, 3]] |
| total = sum([sum(i) for i in list1]) | total = map(sum, list1) |
| counter = sum([len(i) for i in list1]) | counter = map(len, list1) |
| print(total/counter) | print(sum(total) / sum(counter)) |
| list1 = [[1, 7, 8], [9, 7, 102], [102, 106, 105], [100, 99, 98, 103], [1, 2, 3]] | list1 = [[1, 7, 8], [9, 7, 102], [102, 106, 105], [100, 99, 98, 103], [1, 2, 3]] |
| total = 0 | total = 0 |
| counter = 0 | count = 0 |
| for i in list1: | for i in range(len(list1)): |
| for j in i: | for j in range(len(list1[i])): |
| total += j | total += 1 |
| counter += 1 | count += list1[i][j] |
| print(total/counter) | print(count/total) |
| # ----- | |
| # РЕВЕРС ЭЛЕМЕНТОВ СПИСКА | # |
| list1 = [list(reversed(el)) for el in list1] | |
| list1 = [[1, 7, 8], [9, 7, 102], [102, 106, 105], [100, 99, 98, 103], [1, 2, 3]] | list1 = [[1, 7, 8], [9, 7, 102], [102, 106, 105], [100, 99, 98, 103], [1, 2, 3]] |
| for elem in list1: | for i in range(len(list1)): |
| elem.reverse() | list1[i] = list1[i][::-1] |
| print(list1) | print(list1) |
| # ----- | |
| # ПОИСК НАИБОЛЬШЕГО ЭЛЕМЕНТА ДВУМЕРНОГО МАССИВА (СПИСКА) | |
| list1 = [[1, 7, 8], [9, 7, 102], [102, 106, 105], [100, 99, 98, 103], [1, 2, 3]] | list1 = [[1, 7, 8], [9, 7, 102], [6, 106, 105], [100, 99, 98, 103], [1, 2, 3]] |
| maximum = -1 | maximum = -1 |
| for el in list1: | for i in range(len(list1)): |
| if max(el) > maximum: | for j in range(len(list1[i])): |
| maximum = max(el) | if list1[i][j] > maximum: |
| print(maximum) | maximum = list1[i][j] |
| print(maximum) | |
| # ----- | |
| # РОСКОМНАДЗОР запретил букву... | |
| word = input() + ' запретил букву' | str = ' запретил букву ' |
| alpha = [chr(i) for i in range(1072, 1104)] | str1 = input() |
| str2 = str1 + str | |
| for letter in alpha: | for i in range(1072, 1104): |
| if letter in word: | if chr(i) in str2: |
| print(word, letter) | str2 += chr(i) |
| word = word.replace(letter, '').replace(' ', ' ').strip() | print(str2) |
| str2 = str2.replace(chr(i), '').replace(' ', ' ').lstrip() | |
| i += 1 | |
| word = input() + ' запретил букву' | |
| alphabet = 'абвгдежзийклмнопростуфхцчшщъыьэюя' | |
| for char in alphabet: | |
| if char in word: | |
| print(word, char) | |
| word = word.replace(char, '').strip().replace(' ', ' ') | |
| # ----- | |
| # Проверить вхождение слова anton в введенные строки и вывести номера этих строк | |
| import re # Используя регулярки | import re |
| lst = [] | num = int(input()) |
| regex = ''.join(f'.*?{i}' for i in 'anton') | for i in range(num): |
| n = int(input()) | if re.search(r'.*a.*n.*t.*o.*n', input()): |
| for i in range(n): | print(i + 1, end=' ') |
| if re.search(regex, input()): | |
| lst.append(i + 1) | |
| print(*lst) | |
| # ----- | |
| # ПОДСЧЕТ подряд идущих "Р" без функций map и split('О') | |
| # ВВОД ОРРОРОРООРРРО | |
| str = input() | |
| countt = 0 | |
| while 'Р' * (countt + 1) in str: | |
| countt += 1 | |
| print(countt) | |
| # ----- | |
| # РЕШЕНИЕ ЗАДАЧИ ВЗЯТИЕМ ОСТАТКА ОТ ДЕЛЕНИЯ НА 5 (работает на любом количестве) | |
| rules = {'камень-камень': 'ничья', 'камень-ножницы': 'Тимур', 'камень-бумага': 'Руслан', | def game(name1, name2): |
| 'камень-ящерица': 'Тимур', 'камень-Спок': 'Руслан', 'ножницы-ножницы': 'ничья', | if name1 in graph[name2]: |
| 'ножницы-бумага': 'Тимур', 'ножницы-камень': 'Руслан', 'ножницы-ящерица': 'Тимур', | return print('Руслан') |
| 'ножницы-Спок': 'Руслан', 'бумага-бумага': 'ничья', 'бумага-камень': 'Тимур', | elif name2 in graph[name1]: |
| 'бумага-ножницы': 'Руслан', 'бумага-ящерица': 'Руслан', 'бумага-Спок': 'Руслан', | return print('Тимур') |
| 'ящерица-ящерица': 'ничья', 'ящерица-Спок': 'Тимур', 'ящерица-ножницы': 'Руслан', | else: |
| 'ящерица-бумага': 'Тимур', 'ящерица-камень': 'Руслан', 'Спок-Спок': 'ничья', | return print('ничья') |
| 'Спок-ножницы': 'Тимур', 'Спок-бумага': 'Руслан', 'Спок-камень': 'Тимур', | |
| 'Спок-ящерица': 'Руслан' | graph={} |
| } | graph['камень'] = ['ножницы', 'ящерица'] |
| timur = input() | graph['ножницы'] = ['бумага', 'ящерица'] |
| ruslan = input() | graph['бумага'] = ['камень', 'Спок'] |
| res = timur + '-' + ruslan | graph['ящерица'] = ['Спок', 'бумага'] |
| print(rules[res]) | graph['Спок'] = ['камень', 'ножницы'] |
| Tim = input() | |
| Rus = input() | |
| game(Tim, Rus) | |
| l = ['ножницы','бумага','камень','ящерица','Спок'] | |
| t = l.index(input()) | |
| r = l.index(input()) | |
| players=['ничья','Руслан','Тимур','Руслан','Тимур'] | |
| print(players[t-r]) | |
| num = [-1,-3,2,4] | game = {'ножницы': 0, |
| d = t - r | 'бумага': 1, |
| if d == 0: | 'камень': 2, |
| print('ничья') | 'ящерица': 3, |
| elif d in num: | 'Спок': 4 |
| print('Тимур') | } |
| else: | timur, ruslan = (game[input()] for _ in 'st') |
| print('Руслан') | print('ничья' if timur == ruslan else 'Тимур' if (ruslan - timur) % 5 % 2 else 'Руслан') |
| # ----- | |
| СПИСКИ, ВЛОЖЕННЫЕ СПИСКИ | ИНДЕКСАЦИЯ |
| my_list = ['Python', [10, 20, 30], ['Beegeek', 'Stepik!']] | my_list = [[0], [1, 2], [3, 4, 5], [], [10, 20, 30]] |
| print(my_list[0][2]) # индексирование строки 'Python' | print(len(my_list)) # = 5 |
| print(my_list[1][1]) # индексирование списка [10, 20, 30] | |
| print(my_list[2][-1]) # индексирование списка ['Beegeek', 'Stepik!'] | total = 0 |
| print(my_list[2][-1][-1]) # индексирование строки 'Stepik!' | my_list = [[0], [1, 2], [3, 4, 5], [], [10, 20, 30]] |
| for el in my_list: | |
| total += len(el) | |
| print(total) # = 9 | |
| # Способ 1. Создадим пустой список, потом n раз добавим в него новый элемент | # Способ 2. Сначала создадим список из n элементов (для начала просто из n нулей). |
| n, m = int(input()), int(input()) # считываем значения n и m | # Сделаем каждый элемент списка ссылкой на другой список из m элементов, заполненный нулями: |
| my_list = [] # n = 3 m = 5 | n, m = int(input()), int(input()) # считываем значения n и m |
| for _ in range(n): | my_list = [0] * n |
| my_list.append([0] * m) | for i in range(n): |
| print(my_list) # [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] | my_list[i] = [0] * m |
| print(my_list) | |
| # Способ 3. List Comprehesion: создадим список из n элементов, | # (!) |
| # каждый из которых будет списком, состоящих из m нулей: | n, m = int(input()), int(input()) |
| n, m = int(input()), int(input()) # считываем значения n и m | my_list = [[0] * m ] * n # n = m m = 3 |
| my_list = [[0] * m for _ in range(n)] | my_list[0][0] = 17 |
| print(my_list) # предпочтительный (!) | print(my_list) # [[17, 0, 0], [17, 0, 0], [17, 0, 0], [17, 0, 0], [17, 0, 0]] |