문제 25

0점과 빈 목록을 구분하는 평균 코드 수정

실제 입력과 오류 코드, 기대 동작 및 경계 사례를 제공하고 실행 여부를 구분한 코드 수정을 요청하는 프롬프트를 작성한다.

문제

주어진 상황과 조건을 빠짐없이 담아 AI가 적절한 답을 만들 수 있는 프롬프트를 작성해 보세요.

정보 수업에서 scores = [80, 0, 100]의 평균을 구하려 했지만 if s 조건 때문에 실제 점수인 0이 빠졌습니다. 모든 점수를 포함하고 빈 목록에서는 None을 반환하는 average 함수를 작성하며, 오류 원인과 세 입력의 예상 결과를 확인해야 합니다.

반영해야 할 조건

  • scores = [80, 0, 100]
  • valid = [s for s in scores if s]; result = sum(valid) / len(valid)
  • average(scores)
  • 숫자 목록
  • 0도 실제 점수이므로 평균에 포함
  • None 반환
  • [80, 0, 100], [0], []
  • 실행하지 않았다면 예상 결과로 표시하고 실행했다고 주장하지 않음

원하는 결과

  • 0점이 제외되는 오류 원인
  • 수정한 Python average 함수
  • 세 입력의 예상 결과

AI 모범 답변

아래와 같은 답변을 얻어낼 수 있도록 프롬프트를 구체적으로 작성해 보세요.

오류 원인: if s라는 조건은 0을 제외하므로 실제 점수인 0점이 평균 계산에서 빠집니다. 수정 코드: def average(scores): if not scores: return None return sum(scores) / len(scores) 예상 결과: average([80, 0, 100]) = 60.0 average([0]) = 0.0 average([]) = None
바이브코치