게시판

검색 결과: 15

, 도장_ 관리자님이 작성
 

심사문제를 빈 상태로 제출하면 해설이 표시됩니다.

해설은 실제로 코드를 대부분 알려주고 있습니다.

str = '001.jpg'

를 입력하고, 서식 지정과 format 함수를 사용해서 테스트해보세요.

IDLE에서 실험해보세요.

그리고 하나씩 list, map, lambda 사용을 완성해가면 됩니다.

한 번에 모든 걸 다 하려 하지 말고, 단계별로 하나씩 해결해가세요.

정답 코드는 따로 없습니다.

포럼 오른쪽 상단에 32.5로 검색하면 이전 질문과 답변을 참조할 수 있습니다.


, 제갈 준영님이 작성
 

32.5 심사문제 풀이를 보고 몇번 고민해봐도 해답 풀이가 안만들어집니다. 혹시 정답 코드를 알려주실 수 있나요?

, 도장_ 관리자님이 작성
 

포럼 상단 오른쪽에 32.5로 검색하면 이전 답변을 볼 수 있습니다.

이전 답변을 참고하세요.

https://dojang.io/mod/forum/discuss.php?d=598&parent=1349


, 최 상진님이 작성
 

files=input().split()
print(list (map(lambda x : '{0:03d}.{1}'.format(int(x.split('.')[0]), x.split('.')[1]), files)))

vscode에서 python 터미널로 할때는 답이 나오는데 틀렸다고 나오는 이유를 알고싶습니다

 
문의한 코드는 삭제합니다.

이렇게 답을 넣으니 계속 틀렸다고 나옵니다.

뭐가 틀린 것인지 도무지 알수가 없네요..

(도장_ 관리자님이 수정함 - 원문 제출일: 2019년 11월 22일, 금요일, 오후 6:01)

 
빈칸에 맞는 코드만 넣어야 합니다.

빈칸이 아닌 print(와 )는 빼고 제출해보세요.

 
map(int, input().split())

이렇게 쓸 때 int는 입력값을 숫자로 변환하는 함수입니다.

map 함수의 첫 번째에 직접 작성한 함수를 넣거나 람다 표현식으로 만든 함수를 넣을 수 있습니다.

람다 표현식을 뺀다면 직접 함수로 만들어서 같은 결과를 유도해보세요.

같은 결과가 나오는 함수와 람다 표현식을 비교해보면 이해가 빠릅니다.


, flowithego  님이 작성
 

print (list (map(lambda x : '{0:03d}.{1}'.format(int(x.split('.')[0]), x.split('.')[1]), files) ))

위와 같이 쓰니까 원하던 대로 돌아가는걸 확인 하였습니다. 
다만, 몇시간 동안 

print (list (map ('{0:03d}.{1}'.format(lambda x: int(x.split('.')[0]), x.split('.')[1], files) )))

이렇게 생각했습니다. 그리고 답은 맞췄지만 아직도 이게 맞다고 생각이 드는 이유는 뭘까요?

하지만 이렇게 쓰면 입력 값들 중 제일 처음 것만 출력하고 뒤에는 출력을 하지 않더군요. 

여태 배워온 과정중에 map(함수, 코드) 라고 배워서 포맷형식을 바로 map 뒤에 주는게 맞다고 생각했는데 답이 왜 저렇게 되어야 하는지 이해가 좀 필요합니다..

, 도장_ 관리자님이 작성
 

포럼 상단에 32.5를 넣으면 검색할 수 있습니다.

이전 답변을 참고하세요.

https://dojang.io/mod/forum/search.php?id=7&search=32.5


, 김 찬호님이 작성
 

print(
    list(
        map(
            '{0:03d}.{1}'.format(
                lambda x: int(x.split('.')[0]), x.split('.')[1],files
                )
            )
        )
    )

에서 실행이 되질 않네요...x가 정의되지 않았다는데 왜 이런 오류가 나는지 이해되지 않습니다.

5번째 줄에서 뭘 잘못 이해하고 있는건지 알고 싶습니다.