수강한 강의
14.조건문과 반복문-03.반복문 이해하기(while)-1
15.조건문과 반복문-04.반복문 이해하기(while)-2
16.조건문과 반복문-05.반복문 이해하기(for).연습문제-1
17.조건문과 반복문-06.반복문 이해하기(for).연습문제-2
18.조건문과 반복문-03.조건문, 반복문 연습 문제 풀이
19.함수 이해 및 활용-01.함수의 이해 및 활용, 기본 파라미터, 키워드 파라미터 이해, 변수의 스코프 이해-1
20.함수 이해 및 활용-02.함수의 이해 및 활용, 기본 파라미터, 키워드 파라미터 이해, 변수의 스코프 이해-2
21.함수 이해 및 활용-03.함수의 이해 및 활용, 기본 파라미터, 키워드 파라미터 이해, 변수의 스코프 이해-3
22.함수 이해 및 활용-04.람다(lambda)함수의 이해 및 사용하기
복습
반복문
▷특정한 조건을 만족하는 동안 같은 코드를 반복해서 실행하는 문법이다.
▷반복문을 사용할 때 가장 주의해야 하는 것은 무한루프가 발생하지 않도록 코딩하는 것이다.
▷while문의 경우엔 조건이 true일 경우에 코드 블록을 수행하고 다시 while의 조건 부분으로 돌아온다.
Break
▷반복문 중간에 반복을 멈추고 싶을 때 사용하는 코드이다.
Continue
▷반복문의 특정 조건에서 코드를 수행하지 않고 조건으로 되돌아가기 위해 사용한다. 이렇게 하면 결과적으로 원하는 부분에서 건너뛸 수 있다.
for문
▷순회 가능한 객체를 순회하면서 코드를 처리한다.
▷여기서 말하는 순회 가능한 객체는 리스트, 튜플, 딕셔너리 같은 것을 의미한다. 인덱싱이 가능한 것들이라고 생각해도 된다.(딕셔너리는 예외)
▷모든 아이템이 순회 되고 나면 for블록은 종료된다.
▷break와 continue 둘 다 적용가능 하다.
▷loop중첩은 반복문 블록 안에 반복문을 넣는 것을 말한다. 반복할 때마다 depth가 깊어진다고 말한다.
▷for문의 범위에서 자주 쓰이는 함수로 len()함수와 range()함수가 있다.
▷len()함수
▷collection들의 길이를 구하는 함수이다.
▷python 내장함수이다.
▷range함수
▷리스트를 간단하게 생성하는 함수이다.
▷숫자를 하나만 입력 : 0부터 그 숫자-1까지 생성한다.
▷숫자를 두 개만 입력 : 앞 숫자부터 뒤 숫자-1까지 생성한다.
▷숫자를 세 개만 입력 : 마지막 숫자는 건너뛰는 숫자의 개수를 의미하고, 나머지는 위랑 동일하다.
함수
▷함수는 코드를 매핑한 것이다.
▷모든 함수는 입력과 그에 따른 출력이 존재한다.
▷코드를 중복 없이 재사용하기 위해서 사용한다.
▷내장함수 이외에도 내가 함수를 만들고 사용할 수 있다.
▷정의를 할 때는 def()를 사용한다.
▷괄호 안에는 변수를 넣을 수 있다. 이 변수는 함수 안에서만 사용된다. 이를 매개변수라고 부른다. 함수가 사용될 경우에 들어가는 값은 인자라고 부른다.
▷[def() : ]다음에 오는 부분을 함수의 body라고 부른다.
▷return을 통해 함수의 출력 값을 지정해줄 수 있다.
▷return을 만나게 되면 그 함수는 작동이 중지된다.
▷return뒤에 아무런 말도 없으면 None값을 출력한다.
▷return이 없을 때는 코드를 끝까지 실행한 뒤에 None값을 출력한다.
▷return을 사용할 때는 여러 개의 값을 출력할 수 도 있다. 이는 튜플을 사용한 것이다.
▷함수를 사용할 때는 함수가 요구하는 인자(parameter)를 정확히 입력해야만 함수가 오류 없이 동작을 한다.
▷함수의 이름을 정할 때는 무엇을 위한 함수인지, 어떻게 작동하는지 등 함수의 정보를 알아보기 쉽게 정해야 한다. 다만 이름이 너무 길어서는 안 된다.
▷함수에 인자가 꼭 필요한 것은 아니다.
▷함수 선언 시에, 매개변수에 대체연산자를 사용해 값을 넣어줄 수 있는데, 이를 기본파라미터라고 부른다.
▷기본 파라미터는 해당 매개변수에 특별한 값이 입력되지 않으면 자동으로 적용되는 값이다.
▷코드의 오류를 줄일 수 있다.
▷기본 파라미터는 매개변수 선언 중간에 올 수 없다. 무조건 끝에 와야 한다.
▷키워드 파라미터는 인자를 입력할 때 내가 원하는 매개변수에 값을 넣기 위해 매개변수와 대입 연산자를 같이 적어주는 것을 말한다.
▷사용하든 안하든 상관없지만, 통일성 있는 코드를 짜야 한다.
▷매개변수를 포함한 함수에서 사용된 모든 변수는 전부 함수 내부에서만 사용된다. 이것을 생명주기라고 부른다.
▷매개변수 앞에 *을 붙이면 가변 길이 파라미터가 된다.
▷가변길이 파라미터는 함수 사용 시에 내가 원하는 만큼 인자를 추가할 수 있는 매개변수를 말한다.
▷print()함수 같은 경우를 생각하면 된다.
▷함수 내부에서는 튜플로 인식한다
▷입력 시에는 쉼표(,)를 이용해서 값을 넣어야 한다. 값을 아예 넣지 않을 수도 있다.
▷가변길이 매개변수의 이름은 args로 하는 것이 좋다. 이는 파이썬의 관례이다.
▷매개변수 앞에 **을 붙이면 가변 길이 키워드 파라미터가 된다.
▷함수 내부에서는 dict로 인식한다.
▷함수 호출시에 이름과 값을 함께 전달할 수 있다.
▷가변길이 키워드 파라미터의 이름은 kwargs로 하는 것이 좋다. 이 역시 파이썬의 관례이다.
▷가변길이 키워드 함수를 사용하는 대표적인 경우는 format()
▷문자열 중간에 {}중괄호를 입력하고, 문자열이 끝나는 부분에 .format()을 붙이고 괄호 안에 넣고 싶은 변수를 입력하면 된다.
람다함수
▷def함수랑 동일하지만, 한 줄로 정의할 수 있는 것이 특징이다.
▷익명함수(이름이 없는 함수)라고도 부른다.
▷정의하는 방법 ==>a = lambda x : x**2
▷lambda : 람다함수를 사용할 것임을 암시한다. :을 기준으로 왼쪽은 입력값, 오른쪽은 출력값이다.
▷return은 적으면 안 된다.
▷매개변수가 여러 개인 경우에는 쉼표로 구분한다.
▷람다함수가 많이 쓰이는 함수
▷sort함수의 key매개변수
▷key는 내가 원하는 순서대로 정렬할 수 있게 하는 변수인데, 인자를 함수로 입력받는다. 여기서만 사용하는 함수를 lambda를 이용해서 한 줄로 입력해주면 코드가 굉장히 깔끔해진다.
▷filter함수
▷filter(a,b) : a의 규칙에 따라서 거른 원소들을 b에 저장한다.
▷a에 들어가는 부분도 lambda함수를 이용해서 간단하게 입력할 수 있다.
▷reduce함수
▷functools라는 모듈에 있는 함수
▷주어진 원소가 있는 경우에, 차례대로 2개의 원소를 가지고 연산하고 연산의 결과가 또 다음 연산의 입력으로 진행되는 함수이다. 최종적으로는 한 개의 원소만이 남게 된다.
▷reduce() -> 괄호 안에 lambda함수를 이용해서 어떤 연산을 할지 입력할 수 있다. 괄호 부분에는 함수가 들어가야 한다.
▷reduce(계산할 함수, 계산할 컬랙션)의 형태로 사용한다.
1,2,3번 문제
def _AVG(list1):
import functools
_sum = functools.reduce(lambda x,y:x+y,list1)
Avg = _sum/len(list1)
return int(Avg)
def PrimeNum(n):
last = n
if n % 2 == 0:
last = int(n/2)
if(n <= 1):
return False
for i in range(2,last):
if n%1 == 0 :
return False
return True
def AllPrimeNum(n):
Prime_List= []
for i in range(2,n+1):
if PrimeNum(i) == True:
Prime_List.append(i)
return len(Prime_List)
a = list(map(int,input().split( )))
print(_AVG(a))
if PrimeNum(_AVG(a)) == True:
print("소수입니다.")
elif PrimeNum(_AVG(a)) == False:
print("소수가 아닙니다")
print(AllPrimeNum(_AVG(a)))
'python > 강의 복습' 카테고리의 다른 글
[딥러닝 강의]10~13강 복습 (0) | 2021.02.25 |
---|---|
[딥러닝 강의]6~9강 복습 (0) | 2021.02.18 |
[딥러닝 강의]1~5강 복습 (0) | 2021.02.17 |