Решение модуля 6.3 Инди-курс программирования на Python

Модуль 6.3 (Кортежи. Продолжение).

Кортежи, как и списки, являются упорядоченной коллекцией, то есть все элементы пронумерованы и имеют свой порядковый номер — индекс. Поэтому мы также можем обращаться к элементам по индексам

Кортеж является 


неизменяемым объектом

Кортеж является

упорядоченной коллекцией

  Что увидим на экране после этого кода?

my_tuple = (10, 20, 30, 40, 50)
my_tuple[1] = 60
print(my_tuple)
TypeError

Перед вами кортеж my_tuple 

Выведите сперва на отдельной строке элемент, хранящийся под индексом 44, а затем на следующей строке — девятое с конца значение

my_tuple = (32, 45, 32, 60, 43, 19, 39, 75, 50, 12, 53, 13, 28, 70, 68, 5, 64, 55, 30, 47, 23, 20, 17, 36, 45, 31, 46, 50, 33, 45, 9, 41, 12, 57, 40, 43, 47, 51, 56, 54, 40, 30, 37, 23, 43, 66, 64, 27, 44, 75, 51, 2, 19, 72, 30, 8, 29, 43, 7, 73, 34, 65, 54, 50, 43, 6, 50, 45, 49, 30, 39, 50, 41, 70, 38, 16, 31, 51, 72, 45, 58, 39, 50, 56, 24, 30, 9, 53, 27, 31, 68, 56, 26, 39, 34, 50, 10, 12, 3, 27)

print(my_tuple[44])     # выводит число с индесов 44 (по счету 45 т.к. отчет начинается с нуля)
print(my_tuple[-9])     # выводит число 9 с конца

Перед вами кортеж my_tuple 

При помощи среза сохраните

  1. в переменную slice_5_10 значения с 5-го индекса по 10-й включительно
  2. в переменную slice_from_20 значения с 20-го индекса и по конец кортежа
  3. в переменную slice_to_35 значения с начала кортежа по 35-й индекс не включительно

Распечатайте данные переменные на отдельных строках в порядке их перечисления

my_tuple = (32, 45, 32, 60, 43, 19, 39, 75, 50, 12, 53, 13, 28, 70, 68, 5, 64, 55, 30, 47, 23, 20, 17, 36, 45, 31, 46, 50, 33, 45, 9, 41, 12, 57, 40, 43, 47, 51, 56, 54, 40, 30, 37, 23, 43, 66, 64, 27, 44, 75, 51, 2, 19, 72, 30, 8, 29, 43, 7, 73, 34, 65, 54, 50, 43, 6, 50, 45, 49, 30, 39, 50, 41, 70, 38, 16, 31, 51, 72, 45, 58, 39, 50, 56, 24, 30, 9, 53, 27, 31, 68, 56, 26, 39, 34, 50, 10, 12, 3, 27)

slice_5_10 = my_tuple[5:11]     # [5:11] - возвращет символы с индексом от 5 по 10
slice_from_20 = my_tuple[20:]   # [20:] - возвращает символы с индексом 20 и до конца списка
slice_to_35 = my_tuple[:35]     # [:35] - возвращает символы от начала списка и до символа с индексом 35 

print(slice_5_10)        # выводим числа с 5 по 10
print(slice_from_20)     # выводим числа с 20 и до конца
print(slice_to_35)       # выводим числа до числа с индесом 35

При помощи среза разверните/переверните кортеж my_tuple и распечатайте на экран полученное значение

Развернуть(reverse) кортеж или любую другую упорядоченную коллекцию это значит расположить элементы в обратном порядке от последнего до первого

my_tuple = (32, 45, 32, 60, 43, 19, 39, 75, 50, 12, 53, 13, 28, 70, 68, 5, 64, 55, 30, 47, 23, 20, 17, 36, 45, 31, 46, 50, 33, 45, 9, 41, 12, 57, 40, 43, 47, 51, 56, 54, 40, 30, 37, 23, 43, 66, 64, 27, 44, 75, 51, 2, 19, 72, 30, 8, 29, 43, 7, 73, 34, 65, 54, 50, 43, 6, 50, 45, 49, 30, 39, 50, 41, 70, 38, 16, 31, 51, 72, 45, 58, 39, 50, 56, 24, 30, 9, 53, 27, 31, 68, 56, 26, 39, 34, 50, 10, 12, 3, 27)

my_tuple = list(my_tuple)   # преобразовываем кортеж в список для того чтобы развернуть его
my_tuple.reverse()          # .reverse() - переворачивает список
my_tuple = tuple(my_tuple)  # преобразовываем список обратно в кортеж
print(my_tuple)             # выводим развернутый кортеж

Мы уже выяснили, что кортежи являются неизменяемыми объектами, записываются в круглых скобках и очень похожи на списки. Если вспомнить списки, то у них было много методов, меняющих само состояние списка и его элементов (appendsortreverseremove и т.д.). А кортежи из-за своей неизменяемости не могут обладать подобными методами и отсюда мы получаем очень незначительную: только два метода

my_tuple = (32, 45, 32, 60, 43, 19, 39, 75, 50, 12, 53, 13, 28, 70, 68, 5, 64, 55, 30, 47, 23, 20, 17, 36, 45, 31, 46, 50, 33, 45, 9, 41, 12, 57, 40, 43, 47, 51, 56, 54, 40, 30, 37, 23, 43, 66, 64, 27, 44, 75, 51, 2, 19, 72, 30, 8, 29, 43, 7, 73, 34, 65, 54, 50, 43, 6, 50, 45, 49, 30, 39, 50, 41, 70, 38, 16, 31, 51, 72, 45, 58, 39, 50, 56, 24, 30, 9, 53, 27, 31, 68, 56, 26, 39, 34, 50, 10, 12, 3, 27)

print(my_tuple.count(50))  # метод .count(num) - подсчитывает сколько раз num встречается в кортеже. И выводим это количество

Кортеж является

итерируемым объектом

Перед вами кортеж words_tuple 

При помощи цикла for обойдите слова, хранящиеся в кортеже words_tuple, и для каждого элемента выведите строку вида

Длина слова {word} = {len_word}

Например, для кортежа words_tuple=('hi', 'world') ответ был бы таким:

Длина слова hi = 2
Длина слова world = 5
words_tuple = ('quaint', 'leftovers', 'thesis', 'density', 'retired', 'weak', 'tolerate',
               'sensitivity', 'primary', 'definition', 'determine', 'bring', 'monstrous',
               'hurl', 'timetable', 'month', 'advocate', 'provoke', 'stress', 'omission')

for i in words_tuple:                     # циклом мы берём по 1 слову из кортежа каждую итерацию
    print(f'Длина слова {i} = {len(i)}')  # с помощью ф-строки мы вывели в нужнем формате каждое слово из списка и его длину

Допишите программу ниже, чтобы она вывела среднее арифметическое всех нечетных значений, хранящихся в кортеже my_tuple.

my_tuple = (-214, 181, -139, 448, -664, -66, 213, 832, 717, -462, -924, -706, -85, -244, -222, -340, -482, -518, -781, 759, -593, 905, -354, -377, -141, -742, 383, -381, 109, -639, -480, -810, -686, 892, -612, 696, 993, 791, 631, -493, -218, -829, -275, 619, -628, -241, -565, -835, -69, 747, 711, -252, -811, -407, -153, 904, 933, -254, 307, -493, -419, -109, -543, 155, -127, 613, -452, -459, 856, 562, 333, -66, -77, -598, -779, -278, 867, 321, -20, -415, -357, 735, -906, -14, -370, 453, -630, -736, -830, -917, 32, 422, -895, 198, 284, 472, -986, -964, -73, 29)

summa, counter = 0, 0   # создаем 2 переменные. 1 - для суммы нечетных чисел, 2 - для количества нечетных чисел
for i in my_tuple:      # циклом проходимся по кортежу
    if i % 2 != 0:      # если число нечетное, то его прибавляем к сумме и к количеству прибавляем ё
        summa += i
        counter += 1
print(summa / counter)  # выводим среднее арифметическое(сумма деленная на количество)

Если у вас не отображается решение последних задач, значит у вас включен блокировщик рекламы который вырезает эти ответы

Понравилась статья? Поделиться с друзьями:
Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x