파이썬 찐초보
파이썬의 핵심 예제들을 살펴보며 정리하기!!
오늘의 목표
1. 완전수, 부족수, 과잉수 판별 프로그램 제작
2. 리스트 활용하기
3. 반복문 내 반복문 활용하기
1. 완전수
완전수란 자신을 뺀 자신의 약수들의 합이 자신과 같은 수를 말한다.
????♨
예를 들면~
6을 살펴보자!
6의 약수는 1, 2, 3, 6이며
6을 뺀 진짜 약수인 진약수는 1, 2, 3이다.
이 1,2,3을 모두 더하면 6이 되는데 이 값이 원래의 값인 6과 같다.
이럴때 6을 완전수라고 한다.
그럼 사용자가 어떤 숫자를 입력했을 때 완전수인지 판별해주는 프로그램을 만들어보자!
아래의 코드처럼 진약수들을 모두 더해야하기 때문에 sum이라는 변수를 만들어주고
sum이 number와 같은지 확인하는 절차를 거친다.
number = int(input("숫자를 입력하세요 : "))
sum = 0
for i in range(1, number):
if (number % i == 0):
sum += i
if (number == sum):
print("%d는 완전수이다." %(number))
else:
print("%d는 완전수가 아니다."%(number))
2. 어떤 수 까지 중에 완전수 판별하기
사용자가 어떤 수를 입력하면 그 수 까지 중에 완전수가 있는지 판별해주는 프로그램을 작성해보자.
#어떤 수 까지 중에 완전수 판별
number = int(input("숫자를 입력하세요 : "))
#for문 안에 for문
for x in range(2, number +1):
sum = 0
for i in range(1, x):
if (x % i == 0):
sum += i
if (x == sum):
print("%d는 완전수이다."%(x))
else:
print("%d는 완전수가 아니다."%(x))
사실 완전수는 매우 드물다.
6, 28, 496, 8128 정도이다.
3. 어떤 수 까지 중에 부족수 판별하기
완전수와 달리 부족수는 진약수들의 합이 해당 숫자보다 작은 수를 말한다.
???
역시 예제를 봐야한다.
8을 보자면
8의 약수는 1,2,4,8이고 진약수는 1,2,4이다. 1,2,4를 모두 더하면 7이고 7은 8보다 작다~!!
그래서 8을 부족수이다.
#부족수
number = int(input("숫자를 입력하세요 : "))
Data = []
for x in range(2, number +1):
sum = 0
for i in range(1, x):
if (x % i == 0):
sum += i
if (x > sum):
Data.append(x)
print("부족수는", Data)
4. 어떤 수 까지 중에 과잉수 판별하기
과잉수는 부족수와는 반대로 sum이 원래 수보다 큰 것을 의미한다.
앞의 부족수 코드에서 부등호만 바꾸어주면 끝~!
#과잉수
number = int(input("숫자를 입력하세요 : "))
Data = []
for x in range(2, number +1):
sum = 0
for i in range(1, x):
if (x % i == 0):
sum += i
if (x < sum):
Data.append(x)
print("과잉수는", Data)
5. 과잉수, 부족수, 완전수를 한 번에 확인하기
이번에는 과잉수, 부족수, 완전수에 대한 각각의 리스트를 만들어 확인해보자!
지난 글에서 빈 리스트를 만든뒤 append 함수를 이용해 값들을 넣었는데
그 코드를 활용해보자!
#과잉수, 부족수, 완전수
number = int(input("숫자를 입력하세요 : "))
Data1 = []
Data2 = []
Data3 = []
for x in range(2, number +1):
sum = 0
for i in range(1, x):
if (x % i == 0):
sum += i
if (x < sum):
Data1.append(x)
elif (x > sum):
Data2.append(x)
else:
Data3.append(x)
print("과잉수는", Data1)
print("부족수는", Data2)
print("완전수는", Data3)
마지막으로 과제를 해결해보자~!
리스트를 이용하여 1부터 1000사이의 숫자들의 약수의 개수를 출력하는 프로그램을 만들어보자!
'프로그래밍 > 파이썬기초' 카테고리의 다른 글
배수와 공배수 구하기_파이썬 기초 (0) | 2021.03.26 |
---|---|
공약수, 최대공약수, 서로소 찾기_파이썬 기초 (0) | 2021.03.24 |
리스트(list), 반복for문, 조건if, if-else_파이썬 기초 (0) | 2021.03.19 |
if조건문, 홀수짝수 판별, 약수구하기_파이썬 기초 (0) | 2021.03.18 |
while 반복문_파이썬 기초 (0) | 2021.03.17 |