#python #anaconda #jupyter-notebook #visual-code #html #css #javascript #http 제목[re][re][re]None 없애기, print와 return2022-10-20 14:42작성자수업도우미 권인회네 답변 감사합니다.return이 없다면 return 값이 없기에 None이 출력이 된다는 것은 이해했습니다.하지만 아래 사진들 중 첫 사진과 달리 마지막 두 사진(return을 사용한 경우)에선 입력값 하나를 주면 1~9단까지의 결괏값을 출력하지 않습니다.첫 사진의 결과를 출력하되, None이 나오지 않게 하려면 어떤 방법을 사용해야 하나요? 안녕하세요.여러 가지 방법이 있어서 직접 이해하실 수 있도록 몇 가지 방법을 설명해드리려고 합니다.1.첫 사진의 경우, 함수 내에 있는 for문을 통해서 print()를 9회 반복하기 때문에 구구단의 결과가 나오게 됩니다. (굳이 return을 사용하지 않는다면)하지만 함수 밖에 있는 print()문에 의해 None이라는 출력이 하나 더 나오게 되는 것입니다. 따라서 print를 지우고 calcGugudan(2)만 적으면 됩니다.2.만약, 두 세번째 사진처럼 함수의 결과를 print()가 아닌 return으로 반환하는 경우에는 함수에 대한 결과를 '한 번' 반환하는 것이기 때문에 앞서 조교님이 설명하신대로 2 * 1 에 대한 첫 번째 결과만 계산하여 반환하게 되는 것입니다.따라서 질문자님께서 코딩하신대로 for문 안에 return을 사용하지는 않습니다.1번의 방법대로 하시거나, 굳이 함수에 return을 사용하고 싶으시다면def f(a, b): return a * bfor i in range(1, 10): print(2, "*", i, "=", f(2,i))와 같은 방법이 있긴 한데, 이렇게 되면 함수가 단순 곱만 진행하는 것과 똑같기 때문에 사용자 지정 함수가 의미가 없을 겁니다.아마 실습자료에 따르면 1번 방법으로 하는 것이 목적이실거라고 생각됩니다.3.이건 Tip인데 for문에서 list 형식으로 [1, ~, 9]를 적는 것보다 range(1, 10)을 사용하시는 것이 앞으로도 더욱 편리하실 겁니다.사용자 정의 함수에 대한 내용을 더욱 살펴보시면 도움될 것 같습니다 :) 목록수정삭제답변글쓰기 댓글 [0] 댓글작성자(*)비밀번호(*)내용(*) 댓글 등록 더보기이전[re][re]None 없애기, print와 returnnone2022-10-20다음Python정렬문제수강생2022-10-18 Powered by MangBoard | 워드프레스 쇼핑몰 망보드