게시판
검색 결과: 15
심사문제를 빈 상태로 제출하면 해설이 표시됩니다.
해설은 실제로 코드를 대부분 알려주고 있습니다.
str = '001.jpg'
를 입력하고, 서식 지정과 format 함수를 사용해서 테스트해보세요.
IDLE에서 실험해보세요.
그리고 하나씩 list, map, lambda 사용을 완성해가면 됩니다.
한 번에 모든 걸 다 하려 하지 말고, 단계별로 하나씩 해결해가세요.
정답 코드는 따로 없습니다.
포럼 오른쪽 상단에 32.5로 검색하면 이전 질문과 답변을 참조할 수 있습니다.
포럼 상단 오른쪽에 32.5로 검색하면 이전 답변을 볼 수 있습니다.
이전 답변을 참고하세요.
https://dojang.io/mod/forum/discuss.php?d=598&parent=1349
문의한 코드는 삭제합니다.
이렇게 답을 넣으니 계속 틀렸다고 나옵니다.
뭐가 틀린 것인지 도무지 알수가 없네요..
(도장_ 관리자님이 수정함 - 원문 제출일: 2019년 11월 22일, 금요일, 오후 6:01)
map(int, input().split())
이렇게 쓸 때 int는 입력값을 숫자로 변환하는 함수입니다.
map 함수의 첫 번째에 직접 작성한 함수를 넣거나 람다 표현식으로 만든 함수를 넣을 수 있습니다.
람다 표현식을 뺀다면 직접 함수로 만들어서 같은 결과를 유도해보세요.
같은 결과가 나오는 함수와 람다 표현식을 비교해보면 이해가 빠릅니다.
print (list (map ('{0:03d}.{1}'.format(lambda x: int(x.split('.')[0]), x.split('.')[1], files) )))
이렇게 생각했습니다. 그리고 답은 맞췄지만 아직도 이게 맞다고 생각이 드는 이유는 뭘까요?
하지만 이렇게 쓰면 입력 값들 중 제일 처음 것만 출력하고 뒤에는 출력을 하지 않더군요.
여태 배워온 과정중에 map(함수, 코드) 라고 배워서 포맷형식을 바로 map 뒤에 주는게 맞다고 생각했는데 답이 왜 저렇게 되어야 하는지 이해가 좀 필요합니다..
print(
list(
map(
'{0:03d}.{1}'.format(
lambda x: int(x.split('.')[0]), x.split('.')[1],files
)
)
)
)
에서 실행이 되질 않네요...x가 정의되지 않았다는데 왜 이런 오류가 나는지 이해되지 않습니다.
5번째 줄에서 뭘 잘못 이해하고 있는건지 알고 싶습니다.