본문 바로가기
프로그래밍/파이썬

모두의 파이썬 - DAY 12 (함수 응용하기)

by Tilog 2021. 11. 20.
728x90
반응형

오늘은 모두의 파이썬 12번째 시간!

저번에 배웠던 '함수'를 응용하는 시간을 가져보겠다.

 

1부터 n까지의 합을 구하는 함수

1부터 n까지의 합을 구하는 함수

합을 간단히 구해주기 위해 'sum_func():' 함수를 불러온다.

그리고 합을 구해주기 위한 변수 ' s = 0 ' 선언.

for문을 이용하여 변수 x를 선언해주고 값은 1부터 n까지 이므로 (1, n+1)로 지정

들여쓰기에 있는 s는 's + x'로 지정한 후 for문이 끝나면

계산된 s를 초기에 지정한 변수 s에 결괏값으로 돌려준다.

 

그리고 10까지의 합과 100까지의 합을 구하고 화면에 출력시킨다.

 

 

결과

x=1이면  s+x = 0+1이므로 s=1▶ s=1이라는 결괏값 돌려받고 다시 for문 진입 ▶ x=2 이면 s+x = 1+2 이므로 s=3

▶ s=3 이라는 결괏값 돌려받고 다시 for문 진입 ▶ x=3 이면 s+x = 3+3이므로 s=6 

▶ ... ▶x=10이면 s+x = 45+10이므로 최종 값 '55'

 

.

.

.

 

같은 매커니즘으로 1부터 100까지의 합은 '5050'이 나온다.

 

1부터 n까지의 곱을 구하는 함수

1부터 n까지의 곱을 구하는 함수

이번엔 같은 매커니즘으로 곱을 구해보겠다.

곱샘은 'factorial' 함수를 불러와주자. 

확률과 통계시간에 배운 그 팩토리얼 맞다!

 

곱을 구하기 위한 변수 'fact'를 선언하고 값은 '1'로 지정한다.

(0으로 지정하면 모든 값이 다 0으로 나오니까)

그리고 마찬가지로 for문을 열어 변수 'x'선언 후 1부터 n까지 반복.

for문 안에 fact를 선언해주고 값은 'fact * x'로 해준다.

그리고 결괏값을 최초의 fact로 돌린다.

 

print로 1부터 5, 1부터 10까지 곱한 값을 출력해보자.

 

결과

x=1이면 fact = 1*1 = 1 ▶ 결괏값 1을 fact로 돌려줌 ▶ x=2이면 fact = 1*2 = 2 

▶결괏값 2를 fact로 돌려줌 ▶ x=3이면 fact = 2*3 = 6 ▶ 결괏값 6을 fact로 돌려줌

▶ x=4이면 fact = 6*4 = 24 ▶ 결괏값 24를 fact로 돌려줌 ▶ x=5이면 fact = 24*5 = 120

 

.

.

.

 

마찬가지로 1부터 10까지의 곱도 같은 매커니즘으로 작용했을 시

'3,628,800' 값이 나온다.

 

 

 

다각형을 그리는 함수

다각형을 그리는 함수

마지막 주제는 '다각형을 그리는 함수'이다.

 

첫 번째 'polygon'은 한 변의 길이가 '50'인 삼각형, 오각형을 그리기 위한 함수이다.

두 번째 'polygon2'는 한 변의 길이가 '75, 100'인 삼각형, 오각형을 그리기 위한 함수이다.

 

첫 번째 polygon부터 살펴보도록 하자.

삼각형의 경우 polygon의 인잣값을 '3'으로 설정했기 때문에

for문도 3번까지 반복하게 된다.

 

거북이가 전방으로 50 이동 ▶ 왼쪽으로 120도(360/3) 꺾음 x3 하면 삼각형 완성!

 

오각형도 마찬가지로 

 

거북이가 전방으로 50 이동 ▶ 왼쪽으로 72도(360/5) 꺾음 x5 하면 완성이다.

 

 


마지막으로 한 변의 길이가 75인 삼각형과

한 변의 길이가 100인 오각형을 그려보자.

 

이번엔 polygon2 함수를 이용할 것 이다.

일단 책에서는 큰 도형들을 옆에 그리려고 하는데

 

이동 경로 선

사진에 보이는 것 처럼 옆 여백으로 이동하는 과정에서 선을 남기지 않기 위해

 

그림을 그리지 않고 거북이를 이동

't.up()' 명령어를 사용하여 선을 남기지 않게 하고

거북이를 전방으로 '100'이동 후 다시 선을 남기게끔

't.down()'명령어를 사용해준다.

 

 

우리가 글씨를 쓸 때 적다가 띄어쓰기 부분에서는 펜을 한 번

들었다가 다시 쓰는 것과 같은 경우이다.

 

 

polygon2의 경우에는 인자가 'n'과 'a'로 2개인데

n은 내각의 수를 a는 한 변의 길이를 정하는 역할을 한다.

 

 

polygon2

그래서 메커니즘을 설명해보자면

for문에 x변수를 선언해주고 n번 반복하게 한다.

전방으로 'a' 만큼 이동하며 왼쪽으로 '360/n'만큼 회전하게 한다.

 

polygon2

삼각형의 경우 'n=3', 'a=75'라고 설정을 해 놨으므로

 

1. 전방으로 75만큼 이동

2. 왼쪽으로 120도 회전

     3. 이 행동을 3번 반복

 

오각형의 경우 'n=5', 'a=100'이라고 설정을 해 놨으므로

 

1. 전방으로 100만큼 이동

2. 왼쪽으로 72도 회전

3. 이 행동을 5번 반복

결과

이 모든 과정들을 거치면 위와 같은 결과가 나온다.

728x90
반응형

댓글


#네이버 애널리틱스 ▼