Python 之创建圆的类和对象

创建圆的类和对象

项目需求:
用面向对象的方法创造一个圆,并且打印圆的属性(半径,颜色,坐标,周长,面积)。在图形界面中根据对象的属性显示出对应的圆。

完整代码:

import math
import turtle
import time

class Circle:
    #初始化圆的参数
    def __init__(self,r=50,border="black",fill="blue",x=0,y=0):
        self.r = r
        self.border = border
        self.fill = fill
        self.x = x
        self.y =y
    #计算圆的周长
    def get_c(self):
        return 2 * math.pi * self.r
    #计算圆的面积
    def get_s(self):
        return math.pi * math.pow(self.r,2)
    #打印圆的基本信息
    def show(self):
        info = "半径为{}的圆的周长为{:.2f},面积为:{:.2f}\n坐标:({},{})"
        info = info.format(self.r,self.get_c(),self.get_s(),self.x,self.y)
        print(info)
        return info
    #绘制圆
    def showPower(self):
        """在图形界面中根据对象的属性显示出对应的圆"""
       # turtle.setup(600,600)
       #  turtle.title("根据所给条件绘制一个圆")
       # pen = turtle.Pen()
        global pen
        pen.reset()
        pen.up()
        pen.goto(self.x,self.y)         #起笔后移动到圆心坐标处
        pen.down()                        
        pen.color(self.border)      #设置画笔颜色(设置圆的边框颜色)
        pen.fillcolor(self.fill)        #设置填充颜色
        pen.begin_fill()                #开始填充
        pen.circle(self.r)              #绘制圆,这个圆默认值是被填充颜色的
        pen.end_fill()                  #结束填充

        pen.up()
        pen.goto(-260,-150)
        pen.color("black")
        pen.write(self.show(),font=("微软雅黑",16))
        
       # turtle.done()
        
    

if __name__ == '__main__':

    turtle.setup(600,600)
    turtle.title("根据所给条件绘制一个圆")
    pen = turtle.Pen()
    
    circle1 = Circle()
    circle1.show()
    
    circle2 = Circle(60,"cyan","green",100,100)
    circle2.showPower()
    
    time.sleep(3)
    
    circle3 = Circle(100)
    circle3.showPower()
    
    turtle.done()

打印结果:
绘制circle2:

绘制circle3:

打印circle1、circle2、circle3的数据:

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值