Модуль 6.3 Кортежи (tuple) и их методы.
Отметьте команды, которые задают кортеж.
(False,)
(1, 2, True, False)
tuple("python")
Отметьте пункты, которые справедливы для кортежей.
расходует меньше памяти, чем списки
упорядоченная коллекция данных
неизменяемый тип данных
Имеется кортеж:
t = (3.4, -56.7)
Вводится последовательность целых чисел в одну строчку через пробел. Необходимо их добавить в кортеж t. Результат вывести на экран командой:
print(t)
t = (3.4, -56.7) # Создаем кортеж values_users = tuple(map(int, input().split())) # Создаем кортеж из пользовательских данных, преобразовываем их в int # и разбивая на отдельные числа по пробелу с помощью метода .split() # Так как КОРЕЖ неизменяемый тип данных мы можем только объединить кортежи t = t + values_users # Добавляем наш кортеж к начальному кортежу print(t)
Вводятся названия городов в одну строку через пробел. На их основе формируется кортеж. Если в этом кортеже нет города «Москва», то следует его добавить в конец кортежа. Результат вывести на экран в виде строки с названиями городов через пробел.
# put your python code here values_users = tuple(input().split()) # Создаем кортеж из пользовательских данных, # разбивая на отдельные числа по пробелу с помощью метода .split() # Так как КОРЕЖ неизменяемый тип данных мы можем только объединить кортежи values_users += tuple('' if "Москва" in values_users else ("Москва",)) # Добавляем в наш кортеж Кортеж с слово "Москва" # через тернарный оператор, если слово есть то не добавляем ни чего, если нет то добавляем слово "Москва" print(*values_users)
Вводятся названия городов в одну строку через пробел. На их основе формируется кортеж. Если в этом кортеже присутствует город «Ульяновск», то этот элемент следует удалить (создав новый кортеж). Результат вывести на экран в виде строки с названиями городов через пробел.
# put your python code here values_users = tuple(input().split()) # Создаем кортеж из пользовательских данных, # разбивая на отдельные слова по пробелу с помощью метода .split() # Так как КОРЕЖ неизменяемый тип данных мы можем только объединить кортежи # if 'Ульяновск' in values_users: tup_city = tuple([i for i in values_users if i != 'Ульяновск']) # Создаю новый кортеж в него с помощью генератора списка # перебираю значения из пользовательского кортежа и если значение не равно 'Ульяновск' сохраняю в новый кортеж print(*tup_city)
Вводятся имена студентов в одну строчку через пробел. На их основе формируется кортеж. Отобразите на экране все имена из этого кортежа, которые содержат фрагмент «ва» (без учета регистра). Имена выводятся в одну строчку через пробел в нижнем регистре (малыми буквами).
values_users = tuple(input().lower().split()) # Создаем кортеж из пользовательских данных, # разбивая на отдельные слова по пробелу с помощью метода .split() # Так как КОРЕЖ неизменяемый тип данных мы можем только объединить кортежи # if 'Ульяновск' in values_users: tup_city = () tup_city += tuple([i for i in values_users if 'ва' in i]) #Создаю новый кортеж в него с помощью генератора списка # перебираю значения из пользовательского кортежа и если значение не равно 'ва' сохраняю в новый кортеж # tup_city = () # for i in values_users: # Прохожу по кортежу # if i.count("ва") > 0: # Если с помощью метода .count() нахожу "ва" то сохраняю его в кортеж # tup_city += (i, ) print(*tup_city)
Вводятся целые числа в одну строку через пробел. На их основе формируется кортеж. Необходимо создать еще один кортеж с уникальными (не повторяющимися) значениями из первого кортежа. Результат отобразите в виде списка чисел через пробел.
P. S. Подобные задачи решаются, как правило, с помощью множеств, но в качестве практики пока обойдемся без них.
# put your python code here values_users = tuple(input().lower().split()) # Создаем кортеж из пользовательских данных, # разбивая на отдельные слова по пробелу с помощью метода .split() # Так как КОРЕЖ неизменяемый тип данных мы можем только объединить кортежи или создать новый tup_city = () # Создаю временный кортеж for i in range(0, len(values_users)): # Прохожу по кортежу if values_users[i] not in tup_city: # Числа еще нет в кортеже я его добавляю tup_city += (values_users[i],) print(*tup_city)
Вводятся целые числа в одну строку через пробел. На их основе формируется кортеж. Необходимо найти и вывести все индексы неуникальных (повторяющихся) значений в этом кортеже. Результат отобразите в виде строки чисел, записанных через пробел.
values_users = tuple(input().lower().split()) # Создаем кортеж из пользовательских данных, # разбивая на отдельные слова по пробелу с помощью метода .split() # Так как КОРЕЖ неизменяемый тип данных мы можем только объединить кортежи или создать новый tup_city = () # Создаю временный кортеж for i in range(0, len(values_users)): # Прохожу по кортежу if values_users.count(values_users[i]) > 1 : # С помощью метода .count() считаю сколько одинаковых объектов # в кортеже, если больше 1 то тогда сохраняю его индекс в кортеже tup_city += (values_users.index(values_users[i],i),) # Сохраняю с помощью метода .index(values_users[i],i) # Где первый аргумент это значение которое ищем, второе с какой позиции ищем. print(*tup_city) # # Вариант решения 2 # values_users = tuple(input().lower().split()) # Создаем кортеж из пользовательских данных, # tup_city = tuple([values_users.index(values_users[i],i) for i in range(0, len(values_users)) if values_users.count(values_users[i]) > 1 ]) # print(*tup_city)
Имеется двумерный кортеж, размером 5 x 5 элементов:
t = ((1, 0, 0, 0, 0), (0, 1, 0, 0, 0), (0, 0, 1, 0, 0), (0, 0, 0, 1, 0), (0, 0, 0, 0, 1))Вводится натуральное число N (N < 5). Необходимо на основе кортежа t сформировать новый аналогичный кортеж t2 размером N x N элементов. Результат вывести на экран в виде таблицы чисел.
# Исходный кортеж. t = ((1, 0, 0, 0, 0), (0, 1, 0, 0, 0), (0, 0, 1, 0, 0), (0, 0, 0, 1, 0), (0, 0, 0, 0, 1)) # Считываем натуральное число N. n = int(input()) # Конвертируем кортеж в numpy-матрицу, делаем срез и конвертируем обратно в кортеж. t = tuple(map(tuple, __import__('numpy').array(t)[0:n, 0:n])) # Выводим результат. print(*[' '.join(map(str, row)) for row in t], sep='\n')
Вводятся пункты меню (каждый пункт с новой строки) в формате:
название_1 URL-адрес_1
название_2 URL-адрес_2
…
название_N URL-адрес_NНеобходимо эту информацию представить в виде вложенного кортежа menu в формате:
((название_1, URL-адрес_1), (название_2, URL-адрес_2), … (название_N, URL-адрес_N))
Результат вывести на экран в виде кортежа командой:
print(menu)
P. S. Для считывания списка целиком в программе уже записаны начальные строчки.
import sys # считывание списка из входного потока lst_in = list(map(str.strip, sys.stdin.readlines())) # здесь продолжайте программу (используйте список lst_in) tup_end = tuple(tuple(i.split()) for i in lst_in) # Справа на лево, вытаскиваю вложенные значения из списка lst_in # разделяю их на части с помощью метода split(), преобразую в tuple() - кортеж. print(tup_end)
Если у вас не отображается решение последних задач, значит у вас включен блокировщик рекламы который вырезает эти ответы