Задать вопрос

Как вернуть кортеж из функции?

Реализуйте функцию sort_pair, которая принимает пару (кортеж из двух значений) и возвращает пару, значения которой расположены строго в порядке возрастания.
Пример:
# обратите внимание на скобки у аргумента функции
sort_pair((5, 1)) # (1, 5)
sort_pair((2, 2)) # (2, 2)
sort_pair((7, 8)) # (7, 8)

Функцию вроде реализовал:
def sort_pair(a, b):
    if a <= b:
        return (a, b)
    else:
        return (b, a)
print(sort_pair(3, 2))

Но тест не проходит - нужны двойные круглые скобки в выводе (указать , что это кортеж)
  • Вопрос задан
  • 336 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
Mike_Ro
@Mike_Ro Куратор тега Python
Python, JS, WordPress, SEO, Bots, Adversting
def sort_pair(a, b):

В ТЗ указано, что функция sort_pair должна принимать один аргумент, который является кортежем из двух элементов целочисленного типа, а не 2 аргумента не определенного типа...
def sort_pair(pair):
    a, b = pair
    if a <= b:
        return (a, b)
    else:
        return (b, a)

print(sort_pair((5, 1)))  # (1, 5)
print(sort_pair((2, 2)))  # (2, 2)
print(sort_pair((7, 8)))  # (7, 8)

Добавим аннотации, чтобы прям хорошо было:
from typing import Tuple

def sort_pair(pair: Tuple[int, int]) -> Tuple[int, int]:
    a, b = pair
    if a <= b:
        return (a, b)
    else:
        return (b, a)

print(sort_pair((5, 1)))  # (1, 5)
print(sort_pair((2, 2)))  # (2, 2)
print(sort_pair((7, 8)))  # (7, 8)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы