본문으로 바로가기

 

 

 

1. 눈사람을 그리는 함수를 작성하고 이 함수를 여러 번 호출하여서 랜덤한 위치에 눈사람을 그리는 프로그램을 작성하라. 아래 실행 결과와 최대한 비슷하게 작성해보자.

def draw_snowman(x, y):
 
#눈사람 1단   
    t.up()
    t.goto(x,y+110)
    t.down()
 
    t.begin_fill()
    t.circle(35)
    t.end_fill()
 
#눈사람 2단
    t.up()
    t.goto(x,y+80)
    t.down()
 
    t.lt(20)
    t.fd(90); t.fd(-90)
    t.lt(115)
    t.fd(90); t.fd(-90)
    t.seth(0)
 
    t.begin_fill()
    t.circle(25)
    t.end_fill()
     
#눈사람 3단
    t.up()
    t.goto(x,y)
    t.down()
 
    t.begin_fill()
    t.circle(50)
    t.end_fill()
 
 

# main
import turtle
t = turtle.Turtle()
s = turtle.Screen()
 
t.color('black', 'white')
s.bgcolor('skyblue')
 
for i in range(3):
    draw_snowman(200*i-200,0)

 

 

2. 6각형을 그리는 draw_hexa() 함수를 작성하고 이 함수를 호출하여서 다음과 같은 벌집 모양을 화면에 그려보자.

def draw_hexa():
    for i in range(6):
        t.fd(50)
        t.rt(60)
 
#main     
import turtle
t = turtle.Turtle()
t.shape("turtle")

for i in range(6):
    t.fd(50)
    t.lt(60)
    draw_hexa()

 

 

 

3. 함수 f(x)=x^2+1을 계산하는 함수를 작성하고 이 함수를 이용하여 화면에 f(x)를 그려보자.

def draw_f():
    for i in range(150):
        t.goto(i,(i**2+1)*0.01)
 
 
#main 
import turtle
t = turtle.Turtle()
t.shape("turtle")

# X선 
t.fd(250)
t.fd(-250)
t.lt(90)
 
# Y선
t.fd(250)
t.fd(-250)
t.rt(90)
 
draw_f()

 

 

4. 터틀 그래픽에서 거북이를 움직이지 않고 선을 극는 함수 draw_line()을 정의하고 이것을 이용하여 다음과 같은 거미줄과 같은 모양을 그려보자. 거북이는 항상 중앙에 위치한다.

def draw_line():
    t.fd(100)
    t.fd(-100)

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

for i in range(12):
    draw_line()
    t.lt(30)

 

 

5. 다음과 같이 이름을 받아서 생일 축하 노래를 출력하는 함수 happyBirthday()를 작성하고 테스트하시오.

def happyBirthday(string):
    print("=====================")
    print("Happy Birthday to you!")
    print("Happy Birthday to you!")
    print("Happy Birthday, dear " + string)
    print("Happy Birthday to you!")
 
happyBirthday(input("이름 : "))

 

 

6. 사용자로부터 2개의 정수를 받아서 수학 문제를 만들어서 화면에 출력하는 함수를 작성하고 테스트하시오.

def MathQ():
    a = int(input("첫 번째 정수: "))
    b = int(input("두 번째 정수: "))
    print("정수 %d+%d의 합은? " %(a, b))
 
MathQ()

 

 

 

7. 파이를 나타내는 PI=3.14를 전역 변수로 하여 원의 면적을 계산하는 함수 circleArea(radius)과 원의 둘레를 계산하는 함수 cirlceCircumference(radius)를 작성하고 테스트하라.

PI = 3.14  
 
def circleArea(radius):
    return PI*(radius**2)
 
def circleCircumference(radius):
    return PI*2*radius
 
print("반지름이 5인 원의 면적 : ", circleArea(5))
print("반지름이 5인 원의 둘레 : ", circleCircumference(5))

 

 

8. 덧셈, 뺄셈, 곱셈, 나눗셈을 수행하는 함수를 각각 작성하고 테스트하라.

def add(a,b):
    return a+b
 
def sub(a,b):
    return a-b
 
def mul(a,b):
    return a*b
 
def div(a,b):
    return a/b
 
 
#main 
a = int(input("첫 번째 정수: "))
b = int(input("두 번째 정수: "))
 
print("==================")
print("(%d + %d) = %d" %(a,b,add(a,b)))
print("(%d - %d) = %d" %(a,b,sub(a,b)))
print("(%d * %d) = %d" %(a,b,mul(a,b)))
print("(%d / %d) = %d" %(a,b,div(a,b)))