SelfTestLevel1 의 파이썬 소스

문제 1. SUM =1- 1/2 - 1/4 - 1/8 - .... - 1/512의 값을 구하여 출력하시오.

출력형식

sum = 0.001953

total = 1.0
lower = 2.0

while lower <= 512 :
total = total - 1/lower
lower = lower * 2
print "sum = ", total


문제 2. 50명 학생의 한 과목 성적을 입력받아 전체 총점과 전체 평균을 구하는 프로그램을 작성하시오.

출력형식

전체총점 : 3550점

전체평균 : 71.0점

cnt = 0
total = 0
while cnt < 50 :
total = total + input("성적 입력(총5명) : ")
cnt = cnt+1

print "전체총점 : ", total
print "전체평균 : ", total / cnt

문제 3. 3개의 숫자를 입력받아 가장 큰 수를 출력하는 프로그램을 작성하시오.

입력형식

33 68 16

출력형식

가장 큰 수 68

cnt = 0
maxlist = []
while cnt < 3 :
maxlist.append( input("숫자 입력(총3개) : ") )
cnt = cnt + 1
print "가장 큰 수 ", max(maxlist)


문제 4. 1 + 2 + 3 + 4 ??? n까지 차례대로 sum에 더하여 그 합이 최초로 1000을 초과할 때 sum과

n을 출력하는 프로그램을 작성하시오


출력형식

sum : 1035

n : 45


cnt = 0
total = 0

while total < 1000 :
cnt = cnt + 1
total = total + cnt


print "sum : ", total
print "n : ", cnt

문제 5. 3자리 양의 정수(100~999) 중에서 7의 배수의 개수와 그들의 합을 구하여 출력하는 프로그램을

작성하시오.

출력형식

7의 배수의 개수 : 128개

7의 배수의 합 : 70336

# 리스트를 이용한 해결

numlist = range(100, 999)

cnt7 = 0
total = 0
for x in numlist :
if( x % 7 == 0 ) :
total = total + x
cnt7 = cnt7+1

print "7 배수의 개수 : ", cnt7
print "7 배수의 합 : ", total

#리스트 없이 해결

total = 0
cnt7 = 0
start = 100
end = 999
while start < end :
if( start % 7 == 0 ) :
total = total + start
cnt7 = cnt7+1
start = start+1

print "7 배수의 개수 : ", cnt7
print "7 배수의 합 : ", total