
Loop
* 지금까지 사용한것은 함수를 호출(call)한것.
어딘가에는 함수의 실체 (정의, definition)가 있다.
LIST COMPREHENSION
- 원본 리스트를 가지고, 다른 리스트를 만드는 방법
- for 나 while 없이, loop 를 실행시키는 아름다운 방법
문법을 잘 보도록 하자.

Qeaust 1.
- score list 에서 점수가 짝수인 것만 리스트로 만들어보자.
- 리스트 컴프리핸션으로, 스코어가 짝수인것들은, 제곱한 값으로 리스트를 만들어보자.
[ data ** 2 for data in score_list if data % 2 == 0 ]
출력 결과
[7744, 5776, 3136, 4624]
FUNCTIONS
- 함수란, 재사용 되는 코드 블럭 입니다.
- Data or arguments 가 전달되고, 결과가 return 됩니다.
- 우리가 프로그래밍 하다가, 반복되거나 재사용 되는 코드 블럭이 있으면, 이를 함수로 만들면 됩니다.
- 남들이 이렇게 재사용 잘 되는 함수들을 미리 만들어 놓은 것들도 많습니다. 이를 라이브러리라고 합니다.
함수를 나타내는 정의 (문법) 를 외우자.
- def
- 함수이름
- 파라미터의 의미
- 리턴이란?

함수의 정의

함수의 실행 순서를 이해하자.
- CPU가 어떠한 실행 순서로 동작하는가?

return 이 없는 경우

Parameter가 하나인 경우
- 어떤 숫자 1개를 함수의 파라미터로 입력받으면,
- 그 숫자를 제곱해서 리턴하는 함수

Parameters 가 두개인 경우
- 어떤 숫자를 넣고, 그리고 그 숫자를 몇번 제곱할지를 넣으면
- 해당 숫자를 몇 제곱하여 리턴하는 함수

Return 값이 둘 이상인 경우
- 숫자를 두개를 입력받으면(함수) , 그 숫자들로 나눈 몫과 나머지를 리턴하는 함수

Default parameter
- 나이를 입력받으면, 나이가 몇인지 화면에 출력하는 함수

- 이름과 나이를 입력받으면, 다음처럼 출력하는 함수
- '제 이름은 ...이고, 나이는 ..살 입니다.'

LAMBDA EXPRESSIONS
- Lambda function 은 anonymous function 이다. 즉 함수 이름이 없다.
- Lambda functions 은 주로 filter(), map() , reduce() 함수와 함께 사용된다. 나중에~
- 파라미터는 많아도 상관없지만, 연산은 딱 한줄이어야 한다.

Qeaust 1.
* 두개의 숫자를 입력받으면, 두 수의 나머지를 구하는 함수를 만드세요.

Qeaust 2.
* 함수의 인풋으로 하나의 숫자를 입력받아서, 입력받은 수까지의 짝수만 리스트로 반환하는 함수를 만드세요.
예) 7을 입력하면, 결과로 [2,4,6] 리스트를 반환.

Qeaust 3.
* 함수의 인풋으로 세개의 숫자를 입력받아서, 세 수의 합을 구하여 리턴하는, 함수 addition 를 만드세요. 함수명은 addition 입니다.

Qeaust 4.
* 함수 인풋으로 숫자 두개, 문자열 1개를 입력받아서, 더하기와 곱하기 연산을 하고, 리턴하는 함수를 만드세요.
함수명은 cal ( value1, value2, operator_str )
operator_str 은 'add', 'mul' 두가지 입니다.
만약 cal(3, 4, 'add') 이면 더하기를 하고 cal(3, 4, 'mul') 이면 곱하기를 합니다.

Qeaust 5.
* 과일 등급을 반환하는 함수를 작성하세요.
1. 함수의 인풋으로 과일 크기를 입력으로 받으면, 등급을 리턴하는 함수를 작성하세요.
2. 계속하여 유저한테 직접 과일 크기를 입력받아서 등급을 출력하세요. 단, 유저가 -1 을 입력하면, 프로그램을 종료합니다.


Qeaust 6.
* 함수의 인풋으로 리스트를 넘겨주면, 그 리스트의 평균값을 리턴하는 함수 arr_average 함수를 작성하세요. 함수 작성이 끝나면, 아래 a 리스트의 평균을 구해봅니다.

Qeaust 7.
* 1부터 20까지의 숫자를 생성해서, 각 숫자를 제곱한 값을 리스트로 만드세요. 리스트 컴프리핸션을 이용하세요.

Qeaust 8.
* 두개의 숫자를 입력받으면, 곱하기를 리턴하는 함수입니다. 단, 입력을 아무것도 주지 않으면, 3과 5를 입력받아서 15를 출력하는 함수를 만드세요.

Qeaust 9.
*세개의 숫자를 곱하는 람다함수를 만들고 , 유저한테서 세개의 숫자를 입력받으면, 람다함수를 호출하여 결과를 가져온후, 화면에 출력하세요.

'Python' 카테고리의 다른 글
NUMPY (arange/reshape/Slicing...) (0) | 2022.04.27 |
---|---|
Random/Datetime/Import (0) | 2022.04.27 |
반복문 Loop (for, range)/ Break a loop/Continue statement Range/While /LoopsNested /loops/List Comprehension (0) | 2022.04.25 |
STRINGS - 문자열 (0) | 2022.04.19 |
Python Programing 기초 : 연산 / 변수 (0) | 2022.04.19 |