Строка возвращается как кортеж - PullRequest
0 голосов
/ 04 августа 2020

Я написал функцию в Python, которая возвращает простую строку на основе 3 параметров, но возвращает кортеж вместо строки.

def my_TAs(test_first_TA, test_second_TA, test_third_TA):

    return test_first_TA, test_second_TA, "and", test_third_TA, "are awesome!."

test_first_TA = "Joshua"

test_second_TA = "Jackie"

test_third_TA = "Marguerite"

print(my_TAs(test_first_TA, test_second_TA, test_third_TA))

Вывод:

('Joshua', 'Jackie', 'and', 'Marguerite', 'are awesome!')

Желаемый результат:

"Joshua, Jackie, and Marguerite are awesome!".

Ответы [ 2 ]

2 голосов
/ 04 августа 2020

Причина в том, что в python, если вы используете, для разделения некоторых значений, это интерпретируется как кортеж. Поэтому, когда вы возвращаетесь, вы возвращаете кортеж, а не строку. Вы можете либо присоединиться к кортежу, либо использовать строки формата, как показано ниже.

return f'{test_first_TA}, {test_second_TA}, and {test_third_TA} are awesome!'
0 голосов
/ 04 августа 2020

Вы можете сделать это с помощью join

def my_TAs(test_first_TA, test_second_TA, test_third_TA):
    return test_first_TA, test_second_TA, "and", test_third_TA, "are awesome!."

test_first_TA = "Joshua"
test_second_TA = "Jackie"
test_third_TA = "Marguerite"

print(' '.join(my_TAs(test_first_TA, test_second_TA, test_third_TA)))
...