728x90

수강한 강의

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블록은 종료된다.

▷breakcontinue 둘 다 적용가능 하다.

▷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(계산할 함수, 계산할 컬랙션)의 형태로 사용한다.

 

22강 마지막에 있는 연습문제

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)))

 

 

 

https://bit.ly/3cx6kMd

728x90

'python > 강의 복습' 카테고리의 다른 글

[딥러닝 강의]10~13강 복습  (0) 2021.02.25
[딥러닝 강의]6~9강 복습  (0) 2021.02.18
[딥러닝 강의]1~5강 복습  (0) 2021.02.17

+ Recent posts