728x90
중복되는 데이터 없이 정수를 입력 받아서 리스트 a를 만든다. 리스트의 원소 중 비소수의 합과 소수의 합을 출력하는 함수를 작성한다. 만약 2보다 작은 수를 입력하면 안내 메시지를 출력한다.
import math
def isPrime(n):
sqrt = int(math.sqrt(n)) + 1
for i in range(2, sqrt):
if n % i == 0:
return False
return True
def printPrime(a):
primeResult = 0
nonPrimeResult = 0
for i in range(len(a)):
if isPrime(a[i]):
primeResult += a[i]
else:
nonPrimeResult += a[i]
print('소수의 합 : ', primeResult)
print('비소수의 합 : ', nonPrimeResult)
a = []
while True:
number = int(input('정수 입력(종료는 9999를 입력하세요) : '))
if number < 2:
print('2 이상의 수만 입력하세요.')
continue
if number == 9999:
break
if number not in a:
a.append(number)
print('생성된 리스트 : ', a)
printPrime(a)
'Python' 카테고리의 다른 글
Python에서 printf 함수처럼 print 함수 사용하는 방법 (0) | 2019.06.06 |
---|---|
Python 리스트의 원소들을 2개씩 묶어서 합 구하기 (0) | 2019.05.11 |
Python 난수의 빈도수가 차지하는 비율 구하기 (0) | 2019.05.11 |
Python 리스트에 특정 값이 있는지 체크하기 (0) | 2019.05.11 |
Atom에 Hydrogen 패키지 설치 (0) | 2019.04.30 |
댓글