165 lines
5.3 KiB
Python
165 lines
5.3 KiB
Python
# if문 개념
|
|
temperature = 15
|
|
|
|
if temperature <= 10:
|
|
print("자켓을 입는다")
|
|
else:
|
|
if temperature <= 15:
|
|
print("긴팔을 입는다.")
|
|
else:
|
|
print("반팔을 입는다.")
|
|
|
|
# else if문은 elif
|
|
if temperature <= 10:
|
|
print("자켓을 입는다")
|
|
elif temperature <= 15:
|
|
print("긴팔을 입는다.")
|
|
else:
|
|
print("반팔을 입는다.")
|
|
|
|
|
|
def print_grade(midterm_score, final_score):
|
|
total = midterm_score + final_score
|
|
if total >= 90:
|
|
print('A')
|
|
elif total >= 80:
|
|
print('B')
|
|
elif total >= 70:
|
|
print('C')
|
|
elif total >= 60:
|
|
print('D')
|
|
else:
|
|
print('F')
|
|
|
|
# 코드를 쓰세요.
|
|
|
|
|
|
# 테스트
|
|
print_grade(40, 45)
|
|
print_grade(20, 35)
|
|
print_grade(30, 32)
|
|
print_grade(50, 45)
|
|
|
|
# while문과 if문을 활용하여, 100 이하의 자연수 중 8의 배수이지만 12의 배수는 아닌 것을 모두 출력하세요.
|
|
#
|
|
# 예를 들어서 16은 8의 배수이지만 12의 배수가 아니니까 조건에 부합합니다. 하지만 48은 8의 배수이면서 12의 배수이기도 해서 조건에 부합하지 않습니다.
|
|
#
|
|
# 실행하면 콘솔에 아래와 같이 출력되어야 합니다.
|
|
i = 1
|
|
|
|
while i <= 100:
|
|
if i % 8 == 0 and i % 12 != 0:
|
|
print(i)
|
|
i += 1
|
|
|
|
# 10보다 작은 2 또는 3의 배수는 2, 3, 4, 6, 8, 9이며, 이들의 합은 32입니다.
|
|
#
|
|
# while문과 if문을 활용하여, 1,000보다 작은 자연수 중 2 또는 3의 배수의 합을 출력하는 프로그램을 써 보세요.
|
|
i = 1
|
|
sum = 0
|
|
|
|
while i < 1000:
|
|
if i % 2 == 0 or i % 3 == 0:
|
|
sum += i
|
|
i += 1
|
|
|
|
print(sum)
|
|
|
|
# 정수 n의 약수는 n을 나누었을 때 나누어 떨어지는 수입니다. 만약 정수 i가 정수 n의 약수라면, n을 i로 나누었을 때 나머지가 0이 나와야 하는 거죠.
|
|
#
|
|
# 정수 120의 약수를 모두 출력하고, 총 몇개의 약수가 있는지 출력하는 프로그램을 써 보세요. 아래처럼 콘솔에 출력되어야 합니다.
|
|
i = 1
|
|
num = 120
|
|
sum = 0
|
|
|
|
while i <= num:
|
|
if(num % i == 0):
|
|
sum += 1
|
|
print(i)
|
|
i += 1
|
|
|
|
print("{}의 약수는 총 {}개입니다.".format(num, sum))
|
|
|
|
# 1988년 쌍문동에 사는 택이는 바둑 대회 우승 상금으로 5,000만원을 받았습니다. 하지만 바둑 외에는 아는 게 없으니, 이웃 어른들에게 이 돈으로 무엇을 해야 할지 물어보기로 하였습니다.
|
|
#
|
|
# 은행에서 근무하는 동일 아저씨는 은행에 돈을 맡겨서 매년 이자로 12%씩 받는 것을 추천하셨습니다. 1년 후인 1989년에는 5,000만원의 12% 이자인 600만원이 더해져 5,600만원이 된다고 하면서요.
|
|
#
|
|
# 이 이야기를 들은 미란 아주머니는 고작 12% 때문에 생돈을 은행에 넣느냐며, 얼마 전 지어진 은마아파트를 사라고 추천하셨습니다. 당시 은마아파트의 매매가는 5,000만원이었죠.
|
|
#
|
|
# 2016년 기준 은마아파트의 매매가는 11억원인데요. 1988년 은행에 5,000만원을 넣었을 경우 2016년에는 얼마가 있을지 계산하여, 동일 아저씨와 미란 아주머니 중 누구의 말을 듣는 것이 좋았을지 판단해 보세요. 2016년 은행에 얼마가 있을지는 꼭 while문을 사용해서 계산해 주세요!
|
|
#
|
|
# 2016년에 은행에 저축해 둔 금액이 더 크면, *원 차이로 동일 아저씨 말씀이 맞습니다.가 출력되도록 하세요. 반대로 은마아파트의 가격이 더 크면, *원 차이로 미란 아주머니 말씀이 맞습니다.가 출력되도록 하세요. 여기서는 꼭 if문을 사용해 주세요!
|
|
|
|
money = 50000000
|
|
year = 1989
|
|
apt = 1100000000
|
|
|
|
|
|
while year <= 2016:
|
|
money = money + (money * 12 / 100)
|
|
year += 1
|
|
|
|
if(money > apt):
|
|
print("{}원 차이로 동일 아저씨 말씀이 맞습니다.".format(int(money - apt)))
|
|
else:
|
|
print("{}원 차이로 미란 아주머니 말씀이 맞습니다.".format(int(apt - money)))
|
|
|
|
# 피보나치 수열(Fibonacci Sequence)라고 들어 보셨나요?
|
|
#
|
|
# 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ...
|
|
#
|
|
# 우선 피보나치 수열의 1번 항과 2번 항은 각각 1입니다. 3번 항부터는 바로 앞 두 항의 합으로 계산됩니다. 예를 들어서 3번 항은 1번 항(1)과 2번 항(1)을 더한 2이며, 4번 항은 2번 항(1)과 3번 항(2)을 더한 3입니다.
|
|
#
|
|
# 피보나치 수열의 첫 50개 항을 차례대로 출력하는 프로그램을 작성해 보세요.
|
|
|
|
i = 1
|
|
k = 1
|
|
|
|
ban = 1
|
|
|
|
print(i)
|
|
print(k)
|
|
|
|
while ban <= 24:
|
|
i = i + k
|
|
k = k + i
|
|
|
|
print(i)
|
|
print(k)
|
|
ban += 1
|
|
|
|
# while문을 사용해서 구구단 프로그램을 만들어 봅시다. 실행하면 아래와 같은 결과물이 출력되어야 합니다.
|
|
|
|
gu = 1
|
|
dan = 1
|
|
|
|
while gu < 10:
|
|
while dan < 10:
|
|
print("{} * {} = {}".format(gu, dan, gu * dan))
|
|
dan = dan + 1
|
|
dan = 1
|
|
gu = gu + 1
|
|
|
|
# break문
|
|
# 만약 while문의 조건 부분과 상관 없이 반복문에서 나오고 싶으면, break문을 사용하면 됩니다.
|
|
i = 100
|
|
|
|
while True:
|
|
# i가 23의 배수면 반복문을 끝냄
|
|
if i % 23 == 0:
|
|
break
|
|
i = i + 1
|
|
|
|
print(i)
|
|
|
|
# continue문
|
|
# 현재 진행되고 있는 수행 부분을 중단하고 바로 조건 부분을 확인하고 싶으면 continue문을 쓰면 됩니다.
|
|
i = 0
|
|
|
|
while i < 15:
|
|
i = i + 1
|
|
|
|
# i가 홀수면 print(i) 안 하고 바로 조건 부분으로 돌아감
|
|
if i % 2 == 1:
|
|
continue
|
|
print(i) |