파이썬 for문으로 찾은 결과를 한 번에 출력하기

조회수 718회

기초적인 질문일 수도 있는데.. 도저히 혼자서 해결을 못하고 있어서 질문 드립니다.

아래 코드를 실행할 경우 for문에서 지정되는 a 값들 출력

l 123 l
l 45 l
l 2 l
l 123 l
l 45 l
l 2 l
l 435 l
l 234 l
l 54 l

최종적으로 리턴받은 a 값 출력

end 54 end

같은 식으로 출력이 됩니다. l과 end는 제가 원하는 식으로 출력이 되는지 확인하기 위해 넣은 글자들인데요.

저는 for문으로 지정된 a의 값을 모두 받아서 출력하고 싶습니다. 위 결과를 토대로 말하자면

end 123
45
2
123
45
2
435
234
54  end

위와 같이 asd(aaa)값을 출력하고 싶습니다.

하나씩 프린트하는 것이 아니라 모든 값들을 리스트를 쓰지 않고 하나의 프린트 명령으로 모두 출력하고 싶습니다.

어떻게 할 수 있을까요?

import random
def asd(aaa):

    for i in range(random.randrange(2,9)):
        a = aaa[i]
        print('l', a, 'l')

    return a
aaa = [123, 45, 2, 435, 234, 54, 3151, 345, 1235, 123, 5, 123, 51, 35, 123, 5, 13, 5]
asd(aaa)
print('end', asd(aaa), 'end')

1 답변

  • 좋아요

    0

    싫어요
    채택 취소하기

    join 을 이용하면 됩니다.

    >>> aaa = [123, 45, 2, 435, 234, 54, 3151, 345, 1235, 123, 5, 123, 51, 35, 123, 5, 13, 5]
    >>> aaa_str = list(map(str, aaa))
    >>> aaa_str
    ['123', '45', '2', '435', '234', '54', '3151', '345', '1235', '123', '5', '123', '51', '35', '123', '5', '13', '5']
    >>> joined = '\n'.join(aaa_str)
    >>> joined
    '123\n45\n2\n435\n234\n54\n3151\n345\n1235\n123\n5\n123\n51\n35\n123\n5\n13\n5'
    >>> print(joined)
    123
    45
    2
    435
    234
    54
    3151
    345
    1235
    123
    5
    123
    51
    35
    123
    5
    13
    5
    >>> print(f'end : {joined} : end')
    end : 123
    45
    2
    435
    234
    54
    3151
    345
    1235
    123
    5
    123
    51
    35
    123
    5
    13
    5 : end
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)