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)))
'7. 교재 > 7_4 두근두근 파이썬' 카테고리의 다른 글
[두근두근 파이썬] 10장 연습문제 - tkinter로 GUI 만들기 (1) | 2021.03.07 |
---|---|
[두근두근 파이썬] 9장 연습문제 - 리스트와 딕셔너리 (2) | 2020.02.05 |
[두근두근 파이썬] 6장 연습문제 - 반복해봅시다. (0) | 2020.02.05 |
[두근두근 파이썬] 5장 연습문제 - 조건을 따져봅시다. (0) | 2020.02.05 |
[두근두근 파이썬] 4장 연습문제 - 자료의 종류에는 어떤 것들이 있나요? (0) | 2020.02.05 |