day17 物件導向作業

2021-10-25 02:12:10 字數 3392 閱讀 8731

定義乙個矩形類,擁有屬性:長、寬 擁有方法:求周長、求面積

class

orthogon

:def

__init__

(self,

long=0

, wide=0)

: self.

long

=long

self.wide = wide

defperimeter

(self)

:print

('周長:'

,(self.

long

+ self.wide)*2

)def

area

(self)

:print

('面積:'

, self.

long

* self.wide)

o1 = orthogon(3,

4)o1.perimeter(

)# 周長: 14

o1.area(

)# 面積: 12

定義乙個二維點類,擁有屬性:x座標、y座標 擁有方法:求當前點到另外乙個點的距離

class

coordinates

:def

__init__

(self, x=

0, y=0)

: self.x = x

self.y = y

defprint_coordinates

(self)

:print

("x : "

, self.x,

", y: "

, self.y)

defdistance

(self, other)

:print

('我和你的距離只有:',(

(other.x-self.x)**2

+(other.y-self.y)**2

)**0.5)

p1 = coordinates(23,

32)p2 = coordinates(26,

36)p1.print_coordinates(

)# x : 0 , y: 0

p2.print_coordinates(

)# x : 23 , y: 32

p1.distance(p2)

# 我和你的距離只有: 5.0

定義乙個圓類,擁有屬性:半徑、圓心 擁有方法:求圓的周長和面積、判斷當前圓和另乙個圓是否外切

import math

class

circle

:def

__init__

(self, x, y, r)

: self.x = x

self.y = y

self.r = r

defperimeter

(self)

:print

('周長:',2

*self.r*math.pi)

defarea

(self)

:print

('面積:'

, self.r**

2*math.pi)

defjudge_circumscribed

(self, other):if

((other.x-self.x)**2

+(other.y-self.y)**2

)**0.5== self.r + other.r:

print

('外切'

)else

:print

('不外切'

)c1 = circle(4,

5,3)

c1.perimeter(

)# 周長: 18.84955592153876

c1.area(

)# 面積: 28.274333882308138

c2 = circle(7,

9,2)

c1.judge_circumscribed(c2)

# 外切

定義乙個線段類,擁有屬性:起點和終點, 擁有方法:獲取線段的長度

class

segment

:def

__init__

(self, x1, y1, x2, y2)

: self.x1 = x1

self.y1 = y1

self.x2 = x2

self.y2 = y2

defobtain_length

(self)

:print

('線段長度:',(

(self.x2-self.x1)**2

+(self.y2-self.y1)**2

)**0.5)

s1 = segment(1,

3,7,

11)s1.obtain_length(

)# 線段長度: 10.0

定義乙個狗類和乙個人類:

狗擁有屬性:姓名、性別和品種 擁有方法:叫喚

人類擁有屬性:姓名、年齡、狗 擁有方法:遛狗

class

dog:

def__init__

(self, name, age, color)

: self.name = name

self.age = age

self.color = color

defbark

(self)

:print

(f'在嚶嚶嚶!'

)class

person

:def

__init__

(self, name, age, dog=

none):

self.name = name

self.age = age

self.dog = dog

defwalk_dog

(self)

:if self.dog:

print

(f'帶著要飯!'

)else

:print

(f'沒有狗和去要飯!'

)d1 = dog(

'來福',2

,'黃色'

)d1.bark(

)# 來福在嚶嚶嚶!

p1 = person(

'常威',20

, d1)

p1.walk_dog(

)# 常威帶著來福要飯!

p2 = person(

'常威',20

)p2.walk_dog(

)# 沒有狗和常威去要飯!

Day17物件導向作業

定義乙個矩形類,擁有屬性 長 寬 擁有方法 求周長 求面積 class rectangle def init self,length,width self.length length self.width width defperimeter self return self.length self...

day17 物件導向作業

定義乙個矩形類,擁有屬性 長 寬 擁有方法 求周長 求面積 class rectangle def init self,length,width self.length length self.width width defperimeter self return self.length 2 se...

day17 物件導向作業

定義乙個矩形類,擁有屬性 長 寬 擁有方法 求周長 求面積 class rectangular def init self,x,y self.long x self.width y defcalculate self l self.long self.width 2 s self.long self...