본문으로 바로가기

  

 

 

1. 2부터 100 사이의 모든 짝수를 출력하는 반복 루프를 작성한다.

for i in range(2,101,2):
    print(i, end=" ")

 

 

2. 어떤 사람이 복리이자율 7%로 1000만원을 저금했을 경우에 2000만원이 되는데 몇 년이 걸리는지 계산하기 위하여 다음과 같은 코드를 작성하였다. 잘못된 점은 없는지 체크해보자.

year = 0
balance = 1000
 
while balance >= 2000 :
    year = year + 1
    interest = balance * 0.07
    balance = balance + interest
print(year, "년 걸립니다.")

→ 4행의 while balance >= 2000을 while balance <= 2000으로 바꿔 주어야 한다.

 

 

3. 다음 코드의 출력을 예상해보자. 각 단계에서 변수의 값을 예상해보시오.

n = 1234
sum = 0
while n > 0 :
    digit = n % 10
    sum = sum + digit
    n = n // 10
print(sum)

→ 각 자리 수 1+2+3+4 = 10이 출력된다.

 

 

 

4. 사용자에게 곱셈 퀴즈를 내고 답을 사용자로부터 받는 프로그램에서 사용자가 올바른 답을 입력할 때까지 반복하도록 수정하여 보자.

import random
 
a = random.randint(1,10)
b = random.randint(1,10)
com = a*b
 
while True:
    usr = int(input(str(a) + "*" + str(b) + "는 "))
    if (usr == com):
        print("맞았습니다.")
        break;
​

 

 

5. 사용자가 입력한 정수의 합을 계산하는 프로그램을 작성하자. 사용자가 0을 입력하기전까지 정수를 계속하여 읽도록 한다.

sum = 0
while True:
    a = int(input("정수를 입력하시오: "))
    if (a == 0):
        print("합은 ", sum, "입니다.")
        break
 
    sum += a

 

 

6. 난수 생성 함수를 사용하여서 2개의 주사위를 던졌을 때 나오는 수를 다음과 같이 출력하여 보자.

import random

count = 0

while True:
    i = random.randint(1, 7)
    j = random.randint(1, 7)
    print("첫 번째 주사위 : ", i, "두 번째 주사위 : ", j)
    count += 1
    if(count == 5):
        break

 

 

 

7. 터틀 그래픽과 반복을 사용하여 눈 모양을 그려보자.

import turtle
t = turtle.Turtle()
t.shape("turtle")

count = 0
t.lt(30)
for i in range(7):
    t.fd(100); t.fd(-30); t.lt(60); t.fd(30); t.fd(-30);
    t.rt(120); t.fd(30); t.fd(-30); t.lt(60); t.fd(-70); t.lt(60); 

 

 

8. 우리는 이번 장에서 터틀 그래픽으로 별을 그려보았다. 이 코드를 응용하여서 다음과 같이 10개의 별을 그리는 프로그램을 작성하라. 별들은 시작 각도가 약간씩 다르다.

import turtle
t = turtle.Turtle()
t.shape("turtle")
for i in range(10):
    t.forward(-100)
    t.lt(36)
    t.forward(100)
    t.lt(36)
    t.forward(-100)
    t.lt(36)
    t.forward(100)
    t.lt(36)
    t.forward(-100)
    t.rt(134)

 

 

9. 반복과 난수를 함께 사용하면 화면에 랜덤한 원을 그릴 수 있다. 화면에 10개의 랜덤한 원을 그리는 프로그램을 작성하라. 원의 중심과 반지름이 모두 난수이어야 한다.

import random
import turtle
t = turtle.Turtle()
t.shape("turtle")


for i in range(10):
    x = random.randint(1, 100)
    y = random.randint(1, 100)
    z = random.randint(-180, 180)

    t.up()
    t.goto(x, y)
    t.down()
    t.circle(z);

 

 

10. 다음과 같이 거북이를 왕복 달리기시키는 프로그램을 작성해보자.

import turtle
t = turtle.Turtle()
t.shape("turtle")

count = 0

while True:
    t.fd(100); t.rt(90); t.fd(20); t.rt(90); t.fd(100); t.lt(90); t.fd(20);
    t.lt(90);

    count += 1

    if(count == 7):
        break;

 

 

 

11. 다음의 터틀 그래픽 프로그램을 분석해보자. 학습하지 않은 함수가 있다면 인터넷에서 조사하여 보자.

import turtle

t = turtle.Turtle()

t.shape("turtle")

t.color('red', 'yellow')

t.begin_fill()

while True:t.fd(200)

t.lt(170)

if abs(t.pos()) < 1:

break

t.end_fill()

→ begin_fill() ~ 속이 채워진 도형이 그려진다. ~ end_fill()

 

 

12. 터틀 그래픽과 반복을 사용하여 싸인(sine) 그래프를 그려보자. 거북이를 싸인값에 따라서 움직이면 된다.

import turtle
import math

t = turtle.Turtle()
t.shape("turtle")

for i in range(360):
    sine = math.sin(math.pi * i / 180.0)
    print(sine)
    t.goto(i, sine * 100)

 

 

* 파이썬 구구단

for i in range(9):
	print("----", i+1, "단-------")
	for j in range(9):
		print(i+1,"x", j+1, "=", (i+1)*(j+1))