:: 게시판
:: 이전 게시판
|
- PGR21 관련된 질문 및 건의는 [건의 게시판]을 이용바랍니다.
- (2013년 3월 이전) 오래된 질문글은 [이전 질문 게시판]에 있습니다. 통합 규정을 준수해 주십시오. (2015.12.25.)
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
19/09/26 11:11
지금 이 경우에는 if문을 result에만 넣으면 되겠죠. for문은 위로, return문은 아래로 빼시구요.
한편, 나중에 프로그램이 더 복잡해지면 공통된 부분을 또 다른 함수로 만드는 것도 일반적인 방법입니다. 가령, def sum(args) 같이 합을 구하는 함수를 만들어두면, 비슷한 상황에서 for문을 안 써도 되겠죠? 그런데 사실 sum같이 널리 쓰이는 건 python에 이미 내장되어 있습니다 (..) 즉 for문을 통째로 sum(args) 로 바꾸셔도 잘 돌아갈겁니다.
19/09/26 11:12
다른게 result = total / len(args) 이것뿐인데 이 부분만 if 타면 될것같네요. 그리고 라인넘버가 있으면 좋을것 같슴미다.
19/09/26 11:13
여기에 묻어가는 질문으로 저도 초보인데요.
def average(func,*args): total = 0 result = 1 for i in args: ****total += 1 ****if func == '전체': ********result = total / len(args) ****elif func == '정수': ****result = total // len(args) return result 이렇게 하면 안되나요?
19/09/26 12:26
답은 나오겠지만 좋은 코드는 아닙니다. 결과적으로 맨 마지막에 계산하는 result만 의미가 있는데 중간에 의미없는 계산을 하게 되니까요.
19/09/26 11:16
for i in args:
total += i if func=='전체: result = total / len(args) else: result = total // len(args) return result 하셔도 되요.
19/09/26 18:15
>>> def average(func, *args):
... return sum(args) / len(args) if func == '전체' else int(sum(args) / len(args)) if func == '정수' else None 같이 값을 결정하는데 if문을 사용할 수 있습니다. 다른 예제: a = 42 if func == 'FourtyTwo' else "I don't know"
|