Пример 1. Карточка пользователя как кортеж
📄 examples/tuple_profile.py
user = ("Alice", 29, "Python")
name, age, language = user
print(f"Имя: {name}")
print(f"Возраст: {age}")
print(f"Язык: {language}")
Кортеж хорошо подходит, когда структура небольшая и фиксированная: имя, возраст, язык.
Пример 2. Операции с кортежами
📄 examples/tuple_operations.py
tuple1 = (1, 2)
tuple2 = (3, 4)
print(tuple1 + tuple2)
print(tuple1 * 3)
print(2 in tuple1)
print(len(tuple1))
print((1, 2, 3) == (1, 2, 4))
Пример 3. Уникальные элементы без неизученных коллекций
📄 examples/unique_tuple.py
numbers = (1, 2, 3, 2, 1, 4, 5, 3, 6)
unique_numbers = tuple()
for number in numbers:
if number not in unique_numbers:
unique_numbers += (number,)
print("Уникальные элементы:", unique_numbers)
Это решение следует ограничению из исходного задания: не использовать неизученные коллекции.
Пример 4. Элементы выше среднего
📄 examples/above_average.py
numbers = (10, 15, 20, 25, 30)
average = sum(numbers) / len(numbers)
greater_than_average = tuple()
for number in numbers:
if number > average:
greater_than_average += (number,)
print("Элементы больше среднего:", greater_than_average)
Пример 5. enumerate() для вывода номеров
📄 examples/enumerate_languages.py
languages = ("Python", "Java", "C++")
for index, language in enumerate(languages, start=1):
print(f"{index}: {language}")
Пример 6. Сравнение соседних элементов
📄 examples/neighbor_compare.py
numbers = (10, 20, 15, 30, 25, 35)
for index, value in enumerate(numbers[:-1]):
next_value = numbers[index + 1]
if value > next_value:
print(f"{value} больше, чем {next_value}")
Срез numbers[:-1] защищает от выхода за границы: последний элемент не сравнивается с несуществующим следующим.
Пример 7. Индексы повторяющихся элементов
📄 examples/repeated_indexes.py
numbers = (1, 2, 3, 4, 2, 5, 3, 6, 4, 2, 9)
processed = tuple()
for number in numbers:
if numbers.count(number) > 1 and number not in processed:
indexes = tuple()
for index, current in enumerate(numbers):
if current == number:
indexes += (index,)
processed += (number,)
print(f"Индексы элемента {number}:", *indexes)
Пример 8. Распаковка остатка через *
📄 examples/star_unpacking.py
numbers = (3, 7, 2, 8, 5, 10, 1)
first, *middle, last = numbers
print("Первый:", first)
print("Середина:", middle)
print("Последний:", last)
Проверить по документации: звёздочная распаковка полезна не только с кортежами, но и с другими итерируемыми объектами; это общий синтаксис Python.