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

모두의 파이썬 - DAY 20[完] (파이썬으로 수학 문제 풀기 2)

by Tilog 2021. 12. 17.
728x90
반응형

오늘은 모두의 파이썬 '마지막' 시간!

'파이썬으로 수학 문제 풀기' 

두 번째 시간을 가져보도록 하겠다.

 

이차방정식을 푸는 프로그램

이차방정식을 푸는 프로그램

수식을 계산할때 용이한 모듈 'math'

책에 설명이 없어 네이버 서칭까지 해봤으나

무슨 기능인지 발견하지 못한 'sys' 모듈까지 불러온다.  

 

그리고 'print("ax2 + bx + c = 0")' 를 입력해준다,

 

계수로 쓰일 변수 'a,b,c'를 선언해주고

값은 유저에 의해 정해지므로 input을 넣고

'float(소수)'로 받아온다.

 

그리고 이차방정식이 아닐 때

프로그램을 멈춰주도록 설정해준다.

 

다음으론 'D= b*b-4*a*c'

판별식을 적어준다. 

 

이차방정식을 푸는 프로그램

그리고 판별식 값이 0보다 크거나, 같거나, 작은

경우를 나누어 해가 존재하는지 판단해준다.

이 때 판별식 D가 0보다 큰 경우와 같은 경우

근을 구해주기 위해 근의 공식을 표현해준다.

 

판별식 D < 0  일 때
판별식 D = 0 일 때
판별식 D > 0  일 때

 

결과값은 위와 같이 나온다.

각 차수별 계수를 입력해주면

근의 공식에 의해 근의 갯수를 판별하고

근의 값까지 구하며 프로그램이 마무리된다.

 

728x90

 

함수의 그래프를 그리는 프로그램

함수의 그래프를 그리는 프로그램

두 번째는 '함수의 그래프를 그리는 프로그램'이다.

먼저 x,y좌표당 각각 범위를 만들어주기 위해

'min, max' 값을 설정해준다.

그리고 'space'는 그래프를 그리는 속도를 조절하고

좌표값을 조금씩 바꾸는...? 기능을 한다.

 

결과

미리 결과를 보자면

왼쪽은 'space' 값이 '0.1'

오른쪽은 '1'로 설정했을 때 이다.

이차함수 그래프가 유난히 각져보이는걸

볼 수 있는데 이 부분이 잘 이해가 안된다.

 

 

그래프를 그리는 속도가 너무 느리면 0.1로 지정된
space 값을 키워 보세요. 이 프로그램은 x 값을 x_min부터
x_max까지 space 간격으로 증가시키면서 함수의 그래프를
그리는 프로그램이란 점을 명심하세요.

라고 책에 설명되어있긴 한데

뭔가 '간격' 이라는 단어가 안 와닿는다.

 

뭐 여튼 일단 보이는것만 놓고보면

좌표의 최소,최댓값은 동일하나 space를 조정하면

지나는 점들이 조금씩 달라지는 정도이다.

 

함수의 그래프를 그리는 프로그램

위 그래프에 나왔듯이 '이차함수, 절대값함수, 일차함수'

3개를 그려줄 것이다. 'func_list'라는 리스트를 열고

함수식을 적어두자. 절댓값은 'abs()'로 표현한다.

 

좌표 설정 부분에 't.setworldcoordinates' 부분은

거북이의 좌표를 아까 정한 x,y의 미니멈과 맥시멈으로

세팅해주는 것이다. 밑에 스피드와 펜사이즈는 

이전에 워낙 많이 언급했으니 패스한다.

 

       함수의 그래프를        그리는 프로그램

그리고 그래프를 그리기 위해

백지(x,y축)를 만들어준다.

 

함수의 그래프를 그리는 프로그램

'반복문 for'을 실행하고 'func_list'를 불러온다.

그리고 인자 값을 계산해주는 'exec'를 이용해주고

계산된 자표로 이동해준 뒤 그릴준비를 한다.

'while'문을 열어 'x값이 x_max 이하일 동안'

x값은 'x + space'만큼 증가하고 다시 

'exec'로 '인자값(func_list)'를 계산하여 

다시 계산된 좌표로 이동... 을 while문이

끝날 때 까지 계속 반복하면...

결과

이렇게 결과가 나온다.

 

 

 

모두의 파이썬 완주 후기

처음엔 정말 쉬운 분위기속에서 했는데

날이 거듭할수록 조금씩 어려워지기 시작해서

하기싫은 날이 꽤 많았었다. 

 

오늘것도 이해가 잘 되지 않았던 부분이 있지만

어떻게 한 술에 배부르겠는가.

반복 하다보면 결국 이해가 되지않을까 싶다.

 

it쪽 학과로 대학을 입학하기 전 입문해 본

파이썬. 그래도 나름의 커리큘럼(?)을 따라가서

마음은 편했던 것 같다. 

 

다음은 어떤것에 도전할지 모르겠지만

열심히 배워보도록 해야겠다.

728x90
반응형

댓글


#네이버 애널리틱스 ▼