파이썬 프로그래밍 레포트 (소수판별/윤년/날짜수계산/텍스트 내용 단어와 줄수) (실행화면 포함)
- 최초 등록일
- 2022.06.18
- 최종 저작일
- 2020.04
- 15페이지/ 한컴오피스
- 가격 2,000원
소개글
"파이썬 프로그래밍 레포트 (소수판별/윤년/날짜수계산/텍스트 내용 단어와 줄수) (실행화면 포함)"에 대한 내용입니다.
목차
1. 정수 한 개를 입력받은 다음 그 정수가 소수인지 아닌지 판별하는 파이썬 프로그램
2. 정수 연도 한 개를 입력받아 그 연도가 윤년인지 아닌지를 판별하는 파이썬 프로그램
3. year, month 함수를 정의하고 메인 코드에서 사용자로부터 연도와 월을 입력받아서 그 달의 날짜 수를 출력하는 파이썬 프로그램
4. 파일에 있는 텍스트 내용이 총 몇 자이고, 몇 개의 단어가 있는지, 그리고 몇 라인으로 구성되었는지 출력해주는 파이썬 프로그램
(모두 실행화면 포함)
본문내용
<중간프로젝트>
1. 코드화면이 길어서 잘려진 사진 두 개로 캡쳐하였습니다.
이 프로그램은 정수 한 개를 입력받은 다음 그 정수가 소수인지 아닌지 판별하도록 작성했습니다.
먼저 is_prime(num)함수를 정의하려고 하는데 입력된 num의 제곱근을 이 함수 안에서 구할 것이기 때문에 is_prime(num)함수를 정의하기 전에 import math 를 통해서 모듈을 임포트하고 나중에 함수 안에서 math.sqrt() 함수를 통해서 제곱근을 구할 수 있도록 할 것이다.
그 다음 이제 is_prime(num)함수를 정의하고자 한다. 그 전에 함수 주석을 이용해 (-> bool )를 사용하여 함수의 리턴값에 대하여 bool형태를 사용하도록 하였다.
일단 만약 입력된 num가 1이면 1은 소수가 아니기 때문에 False를 리턴하도록 하였다.
두번째로 2와 3은 소수이므로 while 루프에 들어가기 전에 우선 소수라고 판별(True를 리턴)해야 되기 때문에 if문을 사용해 입력된 num가 2 또는 3이면 True를 리턴하도록 하였다.
세번째로 입력된 num을 2로 나눈 나머지가 0이면 소수가 아니라고 판별(False를 리턴)해야 되기 때문에 if문을 사용해 입력된 num을 2로 나눈 나머지가 0이면 False를 리턴하도록 하였다.
여기서부터는 아래 코드들을 설명하기 위해 먼저 num을 3부터 어디까지 나눠볼 것인지 설명할 것이다.
주어진 수 num이 소수인지를 판단하는 가장 단순한 방법은 3부터 n-1 까지 나누어 보아 모두 나누어 보았을 때 나머지가 모두 0이면 소수라고 판단하는 것이다. 하지만 이렇게 하면 프로그램의 성능이 떨어질 것이다. 프로그램의 성능을 높이기 위해서는 나누어보는 범위를 줄여야 한다.
따라서 합성수 num이 p x q 로 표현될 때 한 수는 항상 √n 이하, 다른 한 수는 √n 이상이라는 점을 이용하면, n - 1 까지 나누어 보지 않고 √n까지만 나누어보도록 하여 프로그램의 성능을 위 방법보다는 향상시킬 수 있다.
이제 if num < 9: 부터 다시 설명해보겠다.
참고 자료
없음