ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [두근두근 파이썬 13장] 실습 12주차
    학교 수업/1-1, 1-2 코딩 기초 (파이썬, C) 2020. 6. 6. 15:29
    반응형

    컴퓨팅적 사고와 문제 해결 6월 2일 실습과제(두근두근파이썬 13장 연습문제)

     

     

    연습문제1

    class Circle:
        def __init__(self, radius):
            self.radius = radius
            self.pi = 3.141592
        
        def calcPerimeter(self):
            print("원의 둘레:",2* self.pi * self.radius)
        
        def calcArea(self):
            print("원의 면적:",round(self.pi * self.radius ** 2, 2)) #부동소수점 제거
        
    r = int(input("반지름: "))
    x = Circle(r)
    x.calcPerimeter()
    x.calcArea()
    

    __str__ 사용

    class Circle:
        def __init__(self, radius):
            self.radius = radius
            self.pi = 3.141592
        
        def calcPerimeter(self):
            self.perimeter = 2* self.pi * self.radius
        
        def calcArea(self):
            self.area = round(self.pi * self.radius ** 2, 2)
    
        def __str__(self): #출력할 때 쓰임
            return "반지름: "+str(self.radius)+" 원의 면적: "+str(self.perimeter)+" 원의 둘레: "+str(self.area)
    
        
    r = int(input("반지름: "))
    x = Circle(r)
    x.calcPerimeter()
    x.calcArea()
    print(x)
    

     

     

     

     

     

    연습문제 3

    from turtle import *
    
    class Car():
        def __init__(self): #생성자는 터틀만 실행해줌
            self.tt = Turtle()
    
        def shape(self, x):
            self.tt.shape(x)
    
        def go(self, x): #turtle을 움직이게 하는 진짜 명령어
            for i in range(x):
                self.tt.left(90)
            self.tt.forward(100)
            for i in range(4-x):
                self.tt.left(90)
    
        def move(self, x): #입력 받기 편하게 만든 명령어
            if x == up:
                self.go(1)
            elif x == down:
                self.go(3)
            elif x == right:
                self.go(4)
            else:
                self.go(2)
        
    t = Car()
    lee = Car()
    
    t.shape("turtle")
    lee.shape("circle")
    
    t.move(right)
    t.move(down)
    t.move(right)
    
    lee.move(left)
    lee.move(up)
    lee.move(left)
    

      상속사용

    from turtle import *
    
    class Myturtle():
        def __init__(self): 
            self.tt = Turtle()
    
        def shape(self, x):
            self.tt.shape(x)
    
    class Car(Myturtle): #Myturtle을 상속 받음
        def go(self, x):
            for i in range(x):
                self.tt.left(90)
            self.tt.forward(100)
            for i in range(4-x):
                self.tt.left(90)
    
        def move(self, x):
            if x == up:
                self.go(1)
            elif x == down:
                self.go(3)
            elif x == right:
                self.go(4)
            else:
                self.go(2)
        
    t = Car()
    lee = Car()
    
    t.shape("turtle")
    lee.shape("circle")
    
    t.move(right)
    t.move(down)
    t.move(right)
    
    lee.move(left)
    lee.move(up)
    lee.move(left)
    

     

     

    연습문제 4

    import turtle
    
    class MyTurtle(turtle.Turtle): #Turtle을 상속받음
        def drawSquare(self):
            for i in range(4):
                self.right(90)
                self.forward(100)
    
    my_turtle = MyTurtle()
    my_turtle.forward(100)
    my_turtle.drawSquare()
    
    반응형

    댓글

Designed by Tistory.