Решение модуля 6.3 Добрый, добрый Python

Модуль 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)

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

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

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