You are on page 1of 13

CHAP 10: 함수 I

실습11 – 문제1, 문제2 (만점 40점)

1
실습: 제출 파일 목록

(실습11)
 파이썬 Script 파일명: 이름_실습11.py

 사이버 캠퍼스 제출
 실습11 제출항목에 제출

2
실습11

 (문제1) 학생들의 성적이 리스트의 원소로서 다음과 같이


저장되어있다고 하자.
students = [ [90,90,88], [100,92,90], [80,90,90], [85,80,90] ]
각 학생의 평균을 구해서 내부 리스트의 원소로 추가한다.
또한 Grade를 구해서 내부 리스트의 원소로 추가한다.

 평균 계산 함수를 정의
 내부 리스트를 매개변수로 받는다.

 반복문을 사용하여
매개변수의 원소들을 꺼내와
 리스트의 평균을 구하고,
(정수)
 그 값을 반환한다.

3
실습11

 Grade 계산 함수를 정의
 내부리스트의 마지막 원소(평균)를 매개변수로 받는다.

 매개변수 값을 사용하여 Grade를 구하고,


Grade를 반환한다.

>>> students
[ [90, 90, 88, 89], [100, 92, 90, 94], [80, 90, 90, 86], [85, 80, 90, 85] ]

 Grade는
 90이상 A

 80이상 B

 70이상 C

 이하 Retry

4
실습11

 평균 계산 함수  Grade 계산 함수

[90,90,88] 학생별 성적. 89

매개변수 매개변수
평균 계산 함수 Grade계산 함수

반환 값
89 반환 값. 평균 ‘B’

5
실습11
 (문제1)
 main part

 변수 students에 리스트 객체를 할당하고 변수를 출력한다.

 반복문을 사용하여 students의 원소(내부 리스트)를 꺼내


온다.
 이 값을 인수로 사용하여 평균 계산 함수 호출한다.

 반환 값(평균)을 내부 리스트의 끝에 추가한다.

 변수 students를 출력한다.

 반복문을 사용하여 students의 원소(내부 리스트)를 꺼내


온다.
 이 값의 마지막 원소(평균)를 인수로 사용하여
Grade계산 함수 호출한다.
 반환 값(Grade)을 내부 리스트의 끝에 추가한다.

 변수 students를 출력한다.

6
실습11
 (문제1)
 main part

 변수 students에 리스트 객체를 할당한다.

 반복문을 사용하여 students의 원소(내부 리스트)를 꺼내


온다.
 이 값을 인수로 사용하여 평균 계산 함수 호출한다.

 반환 값(평균)을 내부 리스트의 끝에 추가한다.

>>> students
[ [90, 90, 88], [100, 92, 90], [80, 90, 90], [85, 80, 90] ]
반복문 실행 후

>>> students
[ [90, 90, 88, 89], [100, 92, 90, 94], [80, 90, 90, 86], [85, 80, 90, 85] ]

7
실습11
 (문제1)
 main part … (계속)

 반복문을 사용하여 students의 원소(내부 리스트)를 꺼내


온다.
 이 값의 마지막 원소(평균)를 인수로 사용하여
Grade계산 함수 호출한다.
 반환 값(Grade)을 내부 리스트의 끝에 추가한다.

>>> students
[ [90, 90, 88, 89], [100, 92, 90, 94], [80, 90, 90, 86], [85, 80, 90, 85] ]

반복문 실행 후

>>> students
[[90, 90, 88, 89, 'B'], [100, 92, 90, 94, 'A'], [80, 90, 90, 86, 'B'], [85, 80, 90, 85, 'B']]

8
실습11
 (문제1)
 main part

>>> students
[ [90, 90, 88], [100, 92, 90], [80, 90, 90], [85, 80, 90] ]
반복문 (평균계산함수 호출) 실행 후

>>> students
[ [90, 90, 88, 89], [100, 92, 90, 94], [80, 90, 90, 86], [85, 80, 90, 85] ]

반복문 (Grade계산함수 호출) 실행 후

>>> students
[[90, 90, 88, 89, 'B'], [100, 92, 90, 94, 'A'], [80, 90, 90, 86, 'B'], [85, 80, 90, 85, 'B']]

9
실습11

 실행결과 예시

***** 문제 1 *****
[ [90, 90, 88], [100, 92, 90], [80, 90, 90], [85, 80, 90] ]
** 반복문(평균계산함수 호출) 실행 후
[ [90, 90, 88, 89], [100, 92, 90, 94], [80, 90, 90, 86], [85, 80, 90, 85] ]
** 반복문(Grade계산함수 호출) 실행 후
[ [90, 90, 88, 89, 'B'], [100, 92, 90, 94, 'A'], [80, 90, 90, 86, 'B'], [85,
80, 90, 85, 'B'] ] # 변수students 출력

10
실습 11
 (문제2) 소수 판별 함수 작성하기.
숫자를 입력 받고 함수를 호출하여 소수 판별을 한다.
 main part
 숫자를 입력 받고, “소수판별함수”를 호출한다.
(숫자를 함수의 인수로 사용)
 함수로 부터 반환 값을 받아,
그 값이 True이면 소수/ False이면 소수 아님을 출력 한다.
 이 작업을 무한 반복되도록 구성하고,
숫자 0이 입력되면 반복을 종료한다.
11
 “소수판별함수” 작성 하기
매개변수
 매개변수는 3 이상의
자연수 라고 가정한다.
 매개변수의 값이 소수인지 판별.
함수
 판별결과를 Boolean값으로 반환.
(True이면 소수, 반환값
False이면 소수 아님을 나타냄) True 11
실습 11
 실행결과 예시
***** 문제2 *****
소수인지 확인하고 싶은 수? 11
11 소수!!
소수인지 확인하고 싶은 수? 124
124 소수아님!!
소수인지 확인하고 싶은 수? 120
11
120 소수아님!! 매개변수(입력)
소수인지 확인하고 싶은 수? 0
종료합니다.
함수

반환값
True

12
실습11
 (문제2) 전체 프로그램 구성 예

def 함수이름( N )
매개변수 N이
소수인지 판별하는
코드블록

return primeChk

# main part
* 무한 반복문으로 구성
* 수를 입력받음. 0이면, 종료한다.
* [소수판별 함수] 호출
* 함수의 반환 값을 가지고 판별하여 출력.
즉, “소수” 또는 ”소수아님”을 출력

13

You might also like