━━━━ ◇ ━━━━
파이썬/코드잇

Python 30. while문, if문 실습 (2) with 코드잇

728x90
반응형

해당 포스팅은 코드잇 복습을 위한 포스팅입니다.
문제 발생 시 즉시 비공개 처리 하겠습니다.

실습 5

1988년 쌍문동에 사는 택이는 바둑 대회 우승 상금으로 5,000만원을 받았다. 하지만 바둑 외에는 아는 게 없으니, 이웃 어른들에게 이 돈으로 무엇을 해야 할지 물어보기로 했다. 

 

은행에서 근무하는 동일 아저씨는 은행에 돈을 맡겻 매년 이자로 12%씩 받는 것을 추천했다. 1년 후인 1989년에는 5,000만원의 12% 이자인 600만원이 더해져 5,600만원이 된다고 했다. 

 

이 이야기를 들을 미란 아주머니는 고작 12% 때문에 생돈을 은행에 넣느냐며, 얼마 전 지어진 은마아파트를 사라고 추천했다. 당시 은마아파트의 매매가는 5,000만원이었다. 

 

2016년 기준 은마아파트의 매매가는 11억원이었는데, 1988년 은행에 5,000만원을 넣었을 경우 2016년에는 얼마가 있을지 계산하여, 동일 아저씨와 미란 아주머니 중 누구의 말을 듣는 것이 좋았을지 판단해 보자. 2016년 은행에 얼마가 있을지는 꼭 while문을 사용해서 계산하자 

 

실행결과

2016년에 은행에 저축해 둔 금액이 더 크면, X원 차이로 동일 아저씨 말씀이 맞습니다. 를 출력하고, 반대로 은마아파트의 가격이 더 크면, X원 차이로 미란 아주머니 말씀이 맞습니다. 가 출력되도록 하자. 

 

내 코드

EUNMA = 1100000000
INTEREST_RATE = 0.12

year = 1988
amount = 50000000


while year < 2016:
    amount += int(amount * INTEREST_RATE)
    year += 1

if amount > EUNMA:
    print("{}원 차이로 동일 아저씨 말씀이 맞습니다.".format(amount - EUNMA))
else:
    print("{}원 차이로 미란 아주머니 말씀이 맞습니다.".format(EUNMA - amount))
    

#실행결과
94193276원 차이로 동일 아저씨 말씀이 맞습니다.

모범답안

 


실습 6

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개 항을 차례대로 출력하는 프로그램을 작성하자. 

 

실행결과

 

내 코드

previous = 0
current = 1

i = 1

while i <= 50:
    print(current)
    temp = previous
    previous = current
    current = current + temp
    i += 1
    
#실행결과
1
1
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
2584
4181
6765
10946
17711
28657
46368
75025
121393
196418
317811
514229
832040
1346269
2178309
3524578
5702887
9227465
14930352
24157817
39088169
63245986
102334155
165580141
267914296
433494437
701408733
1134903170
1836311903
2971215073
4807526976
7778742049
12586269025

모범답안

previous = current

current = current + previous

하지만 이렇게 하면, previouscurrent가 같은 값을 저장하게 된다. 그리고 기존의 previous 값은 잃어버리게 된다.

ex) previous = 2, current = 3

previous = current → previous = 3, current = 3     2는 완전히 없어짐

 

임시보관소 역할을 할 변수 만들기

temp = previous

previous = current

current = current + temp

 


실습 7 

while문을 사용해서 구구단 프로그램을 만들어 보자. 

힌트: 중첩 while문

 

실행결과

 

내 코드

j = 1
while j <= 9:
    i = 1
    while i <= 9:
        print("{} * {} = {}".format(j, i, j * i))
        i += 1
    j += 1
    
#실행결과
1 * 1 = 1
1 * 2 = 2
1 * 3 = 3
1 * 4 = 4
1 * 5 = 5
1 * 6 = 6
1 * 7 = 7
1 * 8 = 8
1 * 9 = 9
2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
2 * 6 = 12
2 * 7 = 14
2 * 8 = 16
2 * 9 = 18
3 * 1 = 3
3 * 2 = 6
3 * 3 = 9
3 * 4 = 12
3 * 5 = 15
3 * 6 = 18
3 * 7 = 21
3 * 8 = 24
3 * 9 = 27
4 * 1 = 4
4 * 2 = 8
4 * 3 = 12
4 * 4 = 16
4 * 5 = 20
4 * 6 = 24
4 * 7 = 28
4 * 8 = 32
4 * 9 = 36
5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45
6 * 1 = 6
6 * 2 = 12
6 * 3 = 18
6 * 4 = 24
6 * 5 = 30
6 * 6 = 36
6 * 7 = 42
6 * 8 = 48
6 * 9 = 54
7 * 1 = 7
7 * 2 = 14
7 * 3 = 21
7 * 4 = 28
7 * 5 = 35
7 * 6 = 42
7 * 7 = 49
7 * 8 = 56
7 * 9 = 63
8 * 1 = 8
8 * 2 = 16
8 * 3 = 24
8 * 4 = 32
8 * 5 = 40
8 * 6 = 48
8 * 7 = 56
8 * 8 = 64
8 * 9 = 72
9 * 1 = 9
9 * 2 = 18
9 * 3 = 27
9 * 4 = 36
9 * 5 = 45
9 * 6 = 54
9 * 7 = 63
9 * 8 = 72
9 * 9 = 81

모범답안

 


728x90
반응형
COMMENT