두번째 연습문제

# 1~100 까지 홀수의 합을 구하라(단 3, 5의 배수 제외)

start = 1
odd = 0
while( start <= 100 ) :
if( start % 2 != 0 and start % 3 != 0 and start % 5 != 0 ) :
odd += start
start += 1

print "홀수의 합은 ", odd


# 100장의 카드에 숫자가 입력될 떄 양수의 개수와 음수의 개수를 구하고 양 수중 홀수의 개수도 구해라

import random

count = 0
card = []

# 100 개의 카드 생성
while( count < 100 ) :
card.append( random.randint( -100, +100 ) )
count += 1

posicnt = 0
posiodd = 0
negacnt = 0

for x in card :

if( x < 0 ) :
negacnt += 1

if( x > 0 ) :
posicnt += x
posiodd += 1


print "양수갯수 ", posicnt, "양수 합 ", posiodd, " 음수갯수 ", negacnt



# 두 숫자 사이에 있는 소수들의 합을 구하시오

start = input("소수 시작 : ")
end = input("소수 종료 : ")

total = 0

while( start <= end ) :
cnt = 2
while( cnt < start ):
if( start % cnt == 0 ) :
break
cnt += 1

if( cnt == start ) :
total += start
print "소수 ", start

start += 1

print "소수들의 합은 ", total

# 두 숫자가 입력될 때 앞의 숫자를 뒤의 숫자로 나우었을때의 몫과 나머지를 구해라

num1 = input("입력1 : ")
num2 = input("입력2 : ")

m = 0
while( num1 > num2 ) :
num1 = num1 - num2
m += 1

print "몫 ", m, "나머지 ", num1


# 종이의 두께가 입력될 때 두께가 얼마나 되든지 종이를 접을 수 있다고 가정하고 몇번을 접어야 1yard이상이 되겠느냐)
# 종이 두께 단위는 inch이고 1yard는 32inch)

paper = input("두께(inch) : ")
cnt = 0

while( 32 > paper ) :
paper = paper * 2
cnt += 1

print "접는 횟수 : ", cnt


# 2에서 500까지 중심수 구해라


# 세수를 읽어 가장 큰수, 중간수, 가장 작은수를 구해라 (세 수가 같은 경우는 에러처리)


maxnum = 0
midnum = 0
minnum = 0

num = []
num.append( input("숫자 1 입력 : ") )
num.append( input("숫자 2 입력 : ") )
num.append( input("숫자 3 입력 : ") )

for x in num :
if( maxnum < x ) :
maxnum = x

minnum = maxnum

for x in num :
if( minnum > x ) :
minnum = x

for x in num :
if( minnum != x and maxnum != x ) :
midnum = x

print "큰 수 ", maxnum, " 중간 수 ", midnum, " 작은 수 ", minnum


실행 예

홀수의 합은 1268
양수갯수 2840 양수 합 57 음수갯수 43
소수 시작 : 1
소수 종료 : 10
소수 2
소수 3
소수 5
소수 7
소수들의 합은 17
입력1 : 2
입력2 : 4
몫 0 나머지 2
두께(inch) : 12
접는 횟수 : 2
숫자 1 입력 : 90
숫자 2 입력 : 12
숫자 3 입력 : 3
큰 수 90 중간 수 12 작은 수 3