(Python) 서브루틴: 프로시저 및 함수 - 2


서브루틴 기능

함수는 결과(숫자, 문자열 등)를 반환하는 서브루틴입니다.< / 디비전>
온라인 상점에서 제품을 주문했다고 상상해 보십시오. 프로그래밍 관점에서 일부 서브루틴을 호출했으며 절차와 달리 이 서브루틴은 결과를 반환해야 합니다. 주문한 제품을 배송합니다. 이러한 서브루틴을 함수라고 합니다.
함수는 프로시저와 정확히 같은 방식으로 형식화됩니다. 절차와 유일한 차이점은 특수 연산자 return이 있다는 것입니다. 그 뒤에 기본 프로그램으로 반환될 값이 기록됩니다.

두 정수의 산술 평균을 반환하는 함수는 다음과 같습니다. <예비> 데프 평균(a, b): 평균 = (a + b) / 2 평균 반환 메인 프로그램에서 이 함수를 호출하는 방법을 이해해야 합니다.
프로시저와 같은 방식으로 함수를 호출하면 안 됩니다. <예비> 평균(10, 5)
함수에 의해 반환된 값은 손실됩니다. 마치 온라인 상점의 상품이 누구에게도 주어지지 않고 버려지는 것과 같습니다. 고객이 좋아할 것 같지 않습니다.

결과를 변수에 저장(또는 화면에 인쇄)하는 것이 더 정확합니다. <예비> a = 평균(10, 5) <예비> 인쇄(평균(10, 5))
기억해야 합니다!
<올>
  • 함수 서브루틴은 프로시저와 같은 형식입니다.
  • 값을 입력할 프로그램의 위치에서 함수가 호출됩니다. 예를 들어, print() 문의 매개변수로 또는 산술 표현식에서. 
  • 유클리드 알고리즘

    유클리드 알고리즘 — 효율적인 BC" title="알고리즘">알고리즘 찾기최대 공약수  둘 정수 (또는 일반 측정  2 라인). 알고리즘 이름은 그리스어 수학 Euclid (기원전 3세기 ), VII 및 X 도서 «시작". 오늘날 사용되는 가장 오래된 수치 알고리즘 중 하나입니다.

    수학을 기억하세요.

    두 자연수의 최대 공약수 (gcd)는 나눌 수 있는 가장 큰 자연수입니다.

    예를 들어, 숫자 12와 18의 공약수는 2, 3, 6입니다. 최대 공약수는 6입니다. gcd(12, 18) = 6

    프로그래밍에는 Euclid 알고리즘의 여러 구현이 있습니다. 다음은 블록 다이어그램 형식으로 그 중 하나에 대한 설명입니다.


    이 알고리즘을 구현해 보세요.

    논리 함수

    종종 프로그래머는 부울 값 "true"를 반환하는 부울 함수를 사용합니다. 또는 "거짓" (또는 거짓)
    이러한 기능은   일부 속성을 확인하십시오.
    숫자가 짝수인지 확인하는 논리 함수를 작성하는 두 가지 예를 살펴보겠습니다.
      <헤드> <몸>
    함수 및 프로시저 작업에 대한 마지막 참고 사항: 프로그램의 함수 및 프로시저 수에는 제한이 없습니다. 또한 하나의 서브루틴은 다른 서브루틴을 호출할 수 있으며 심지어 자신을 호출할 수도 있습니다.
     

    설명 서브루틴 예시
    1) 더 좋은 방법: 표현식 n % 2 == 0의 결과는 참(True) 또는 거짓(False)입니다. <예비> def isEven(n): 반환(n % 2 == 0)
    2) 그렇게 써도 되지만, 어차피 긴 기록은 하지 않는 것이 좋다 <예비> def isEven(n): n % 2 == 0인 경우: true를 반환합니다. 또 다른: False 반환