Language/Python

두근두근 파이썬 CH7 연습문제

Return 2021. 6. 22. 19:38

1번.

import turtle as t
import random

t.shape("turtle")
t.bgcolor("skyblue")
t.color("white")
t.pensize(10)

def draw_snowman(x,y):

    r=100 #초기 반지름 값 100으로 시작

    for i in range (3):   #원3개를 그려 눈사람을 만든다.
        t.up()
        t.goto(x,y)
        t.down()
        t.fillcolor("white")
        t.begin_fill()
        t.circle(r)
        t.end_fill()
        r -= 30           #눈덩이 크기,위치 조절
        y += 130

    t.up()               #눈사람 팔을 만들기위한 식
    t.goto(x+r+60,y-260+r+60)
    t.color("black")
    t.down()
    t.setheading(60)
    t.forward(70)
    t.up()
    t.goto(x-r-60 , y-260+r+60)
    t.down()
    t.setheading(150)
    t.forward(70)
    t.up()
    t.home()
    t.color("white")



num = int(input("몇번 눈사람을 그리시겠습니까? ")) #눈사람 몇번 그릴지 input으로 받아옴
x = random.randint(-300, -100)
y = random.randint(-200, 0)

for j in range(num):  #input으로 받아온 수 많큼 눈사람 그린다.
    draw_snowman(x,y)
    x+=250

t.exitonclick()

2번.

import turtle as t

def draw_hexa():

   for j in range(6): #육각형 그리는 함수
       t.forward(100) 
       t.left(60)

for j in range(6):  
    t.forward(100) #앞으로 간다음 
    t.right(60)    #오른쪽으로 60도 만큼 꺽고
    draw_hexa()    #육각형 그린다. 

draw_hexa()

t.exitonclick()

3번.

import turtle as t
t.shape("turtle")
x=0

def f(x):
    t.forward(250)   #x,y축 그린다. 
    t.up()
    t.home()
    t.down()
    t.setheading(90)
    t.forward(250)
    t.setheading(0)

    for i in range(150):   #해당 함수를 그린다.
        x = i
        t.goto(x,(x**2+1)*0.01)


f(x)

t.exitonclick()

4번.

import turtle as t
t.shape("turtle")

def draw_line():   #앞으로 간다음 뒤로 오고 외쪽으로 30도 회전한다. 
    t.forward(100)
    t.backward(100)
    t.left(30)


for i in range(12):  #12번 반복한다.
    draw_line()


t.exitonclick()

5번.

name = input("생일인 사람?")    #input으로 생일인 사람을 받아온다.

def happyBirthday(): 
    print("Happy Birthday to you!")
    print("Happy Birthday to you!")
    print("Happy Birthday, dear{}".format(name))  
    print("Happy Birthday to you!")

happyBirthday()

6번.

def sum():
    x = int(input("첫번째 정수:"))    #x,y값 input를 받아온다. 
    y = int(input("두번째 정수:"))

    num_sum = x+y

    print("정수{}+{}의 합은 ?".format(x,y),end="")   #end="" : 줄바꿈 하지않고 바로 뒤에 쓴다. 
    answer = int(input(""))

    if num_sum == answer:  #정답과 input으로 받아온 x,y 값의 합과 같다면 
        print("정답")
    else:
        print("바보")

sum()

7번.

global PI   #PI를 global 변수로 지정 
PI = 3.14

def circleArea(radius):  #원의 면적을 구하기 위한 함수
    answer = (PI*radius**2)
    print("반지름이 {}인 원의 면적:{}".format(radius,answer))


def circleCircumference(radius):  #원의 둘레를 구하기 위한 함수
    answer = (PI*2*radius)
    print("반지름이 {}인 원의 둘레:{}".format(radius,answer))


circleArea(5)
circleCircumference(5)

8번.

def num_sum(x,y):  #덧셈 함수 
    sum = x+y
    print("({} + {}) = {}".format(x,y,sum))


def num_discount(x,y): #빼기 함수
    discount = x - y
    print("({} - {}) = {}".format(x, y,discount ))

def num_division(x,y): #나누기 함수
    division = x / y
    print("({} / {}) = {}".format(x, y, division))

def num_multi(x,y): #곱셈 함수
    multi = x * y
    print("({} * {}) = {}".format(x, y, multi))

num_sum(3,4)
num_discount(3,4)
num_division(3,4)
num_multi(3,4)