상세 컨텐츠

본문 제목

파이썬 코드 퀴즈.

파이썬

by amanda.hyon 2021. 12. 26. 18:38

본문

문제

코드 3줄로 다음 출력을 완성하세요.

 

풀이

입력값을 받는건 input을 사용하고..

리스트생성 코드를 이용하여 입력테스트를 단어별로 리스트화 해야 할것 입니다.

 

그렇게 생성된 리스트를 역순리스트와 조합하여 

print 구분의 sep 옵션을 이용하여 다음과 같이 출력합니다. ㅎㅎ

input = input("텍스트입력: ")
output = [input[:i] for i in range(len(input)+1)]
print(*(output+output[::-1])*2, sep='\n')

 

 

위 코드에서 파이썬의 *와 **의 의미와 차이를 구분하지 못하는 분들이 계실껍니다.

이와 관련해서 스택오버플로의 설명을 참조해주시면 좋을꺼 같습니다.

https://stackoverflow.com/questions/3394835/use-of-args-and-kwargs

 

Use of *args and **kwargs

So I have difficulty with the concept of *args and **kwargs. So far I have learned that: *args = list of arguments - as positional arguments **kwargs = dictionary - whose keys become separate key...

stackoverflow.com

 

*는 다음과 같이 튜플과 같다고 보면 이해하기 쉽습니다.

>>> def print_everything(*args):
        for count, thing in enumerate(args):
...         print( '{0}. {1}'.format(count, thing))
...
>>> print_everything('apple', 'banana', 'cabbage')
0. apple
1. banana
2. cabbage

 그리고 ..

**는 딕셔너리 값과 같다고 보면 이해하기 편하십니다. 

>>> def table_things(**kwargs):
...     for name, value in kwargs.items():
...         print( '{0} = {1}'.format(name, value))
...
>>> table_things(apple = 'fruit', cabbage = 'vegetable')
cabbage = vegetable
apple = fruit

관련글 더보기

댓글 영역