Я хочу вывод этой проблемы python в виде черепа, но не знаете, как ее отформатировать? - PullRequest
0 голосов
/ 31 марта 2020

Это моя программа:

def question_second_solution(nums):
    print("Even Numbers: ")
    even_nums = list(filter(lambda x: x%2==0,nums))
    print(even_nums)
    print("Odd Numbers: ")
    odd_nums = list(filter(lambda x: x%2!=0,nums))
    print(odd_nums)
    return nums

question_second_solution([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

Итак, как мне получить вывод в следующем формате: четные числа: [2, 4, 6, 8, 10], нечетные числа: [1, 3, 5, 7, 9]

Ответы [ 3 ]

3 голосов
/ 31 марта 2020
print(f"Even numbers: {even_nums}, Odd numbers: {odd_nums}")
1 голос
/ 31 марта 2020

Если вы хотите просто вернуть вывод в виде строки, используйте функцию ниже. Здесь even_nums и odd_nums расположены в строке, и значение возвращается.

def question_second_solution(nums):
    even_nums = list(filter(lambda x: x%2==0,nums))
    odd_nums = list(filter(lambda x: x%2!=0,nums))
    return "Even Numbers: {} Odd numbers: {}".format(even_nums, odd_nums)

Если вы хотите вернуть значения even_nums и odd_nums в виде списка и повторно использовать значения для дальнейшей обработки, вы можете вернуть значения как кортеж списков. Как показано ниже:

return (even_nums, odd_nums)

Пример второго варианта использования:

evens, odds = question_second_solution([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

print("Even numbers are: ", evens)
print("Odd numbers are: ", odds)

Надеюсь, это поможет.

0 голосов
/ 31 марта 2020

Вы можете сделать это только одной строкой.

def question_second_solution(nums):
    print(f"Even Numbers: %s, Odd numbers %s" % ([x for x in nums if x%2 == 0], [x for x in nums if x%2 != 0]))

Формат строки с% s внутри строки и добавление значений с помощью % после строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...