Language/Python

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

Return 2021. 6. 22. 19:52

1번.

class Circle:  # circle 클래스 설정 
    def __init__(self,radius):    #초기값 
        self.radius = radius

    def circumference(self):      #원의 둘레 
        self.circumference = 3.14 * 2 * self.radius

    def area(self):       #원의 넓이 
        self.area = 3.14 * self.radius * self.radius

    def __str__(self):    #메세지 
        msg = "원의 반지름 :"+str(self.radius)+"원의 면적:" +str(self.circumference) + "원의 넓이"+ str(self.area)
        return msg

mycircle = Circle(100) 
mycircle.area()
mycircle.circumference()
print(mycircle) #메세지 측정 

2번.

class TV:   #TV 클래스 설정 
    def __init__(self,channel,volume,on):  #초기 값        
        self.channel = channel
        self.volume = volume
        self.on = on

    def turnOn(self): #켜지면 1
        self.on =1

    def turnOff(self):  #꺼지면 0
        self.on = 0   

    def setChannel(self,channel): #채널 넘버
        self.channel = channel

    def setVolume(self,volume): #볼륨 넘버
        self.volume = volume

    def __str__(self):  #메세지 
        if self.on == 1: #켜져 있을 때
            msg = "TV의 채널:"+str(self.channel)+"TV의 음량"+str(self.volume)

        else: #꺼져 있을 
            msg = "TV가 꺼져 있습니다."

        return msg   # msg 리턴 때

myTv = TV(7,10,1)  #채널 7번 볼륨10 켜져있는 상태로 시작 

print(myTv)

myTv.setChannel(5) #채널 돌려준다.
print(myTv)

myTv.setVolume(100) #불륨 바꿔준다.
print(myTv)

myTv.turnOff() #끈다. 
print(myTv)

3번.

from turtle import *
import random

class Tu : #클래스 설정
    def __init__(self,shape,speed): #모양과 속도
        self.speed = speed
        self.turtle = Turtle() #터틀 클래스를 쓰겠다.
        self.turtle.shape(shape)

    def dirve(self): #직진
        self.turtle.forward(self.speed)

    def turn(self,num): #회전
        if num ==1:
            self.turtle.right(10) #오른쪽으로 회전
        else:
            self.turtle.left(10)  #왼쪽으로 회전


lee = Tu("turtle",10)  #거북이 모양 속도 10
kim = Tu("circle",-10) #원모양 속도 10

for i in range(100): #100번 반복
    a = random.randint(1,2) # 1,2 중 랜덤으로 하나 받아와 회전방향 결정
    b = random.randint(1,2)
    lee.dirve() #직진
    kim.dirve()
    lee.turn(a) #회전
    kim.turn(b)

4번.

from turtle import *

class MyTurtle(Turtle): # turtle 클래스를 상속받는다.

    def drawSquare(self):
        for i in range(4): #사각형 그린다.
            self.right(90)
            self.forward(100)

myTurtle = MyTurtle()
myTurtle.forward(100)
myTurtle.drawSquare()