Python面向?qū)ο蟮某绦蛟O(shè)計詳情
1. 設(shè)計一個圓類,包括圓心位置、半徑、顏色等屬性。編寫構(gòu)造方法, 計算周長和面積。
import math
class Circle:
? ? def __init__(self,o,r,colour):
? ? ? ? self.o = o
? ? ? ? self.r = r
? ? ? ? self.colour = colour
? ? def length(self): #周長
? ? ? ? C = math.pi*self.r*2
? ? ? ? return C
? ? def area(self): ? #面積
? ? ? ? S = math.pi*self.r**2
? ? ? ? return S
?
if __name__ == "__main__":
? ? r=eval(input("請輸入半徑:"))
? ? circle = Circle((0,0),r,'blue') #坐標(biāo)、半徑、顏色
? ? C = circle.length()
? ? S = circle.area()
? ? print('圓周長為:{:.2f}'.format(C))
? ? print('圓面積為:{:.2f}'.format(S))2. 設(shè)計一個描述自由落體運(yùn)動的類,要求能獲得任意時刻的速度及位移,并進(jìn)行測試。已知重力加速度為 9.8m/s。
class Free:
? ? def __init__(self,t):?
? ? ? ? self.t = t
? ? def getv(self): #速度函數(shù)
? ? ? ? v=9.8*self.t
? ? ? ? return v
? ? def getx(self): #位移函數(shù)
? ? ? ? x=0.5*9.8*self.t**2
? ? ? ? return x
? ??
if __name__ == "__main__":
? ? t=eval(input("請輸入時刻t:"))
? ? f=Free(t) #調(diào)用
? ? print("t={} 時刻的".format(t),end='')
? ? print("速度為:{:.2f}".format(f.getv()))
? ? print("t={} 時刻的".format(t),end='')
? ? print("位移為:{:.2f}".format(f.getx()))3. 為二次方程式 ax²+bx+c=0 設(shè)計一個名為 Equation 的類,這個類包括:
- 代表 3 個系數(shù)的成員變量 a、b、c;
- 一個參數(shù)為 a、b、c 的構(gòu)造方法;
- 一個名為 getDiscriminant1 的方法返回判別式的值;
- 一個名為
getRoot1和getRoot2的方法返回等式的兩個根, 如果判別式為負(fù),這些方法返回0。
import math
class Equation:
? ? def __init__(self,a,b,c):
? ? ? ? self.a = a
? ? ? ? self.b = b
? ? ? ? self.c = c
? ? def getDiscriminant1(self): ?#判別式
? ? ? ? d=(self.b)**2 -(4*self.a*self.c)
? ? ? ? return d
? ? def getRoot1(self):
? ? ? ? if self.getDiscriminant1()>=0:
? ? ? ? ? ? x1=(-self.b+math.sqrt(self.getDiscriminant1()))/2*self.a
? ? ? ? ? ? return x1
? ? ? ? else:
? ? ? ? ? ? return 0
? ? def getRoot2(self):
? ? ? ? if self.getDiscriminant1()>=0:
? ? ? ? ? ? x2=(-self.b+math.sqrt(self.getDiscriminant1()))/2*self.a
? ? ? ? ? ? return x2
? ? ? ? else:
? ? ? ? ? ? return 0
? ??
if __name__ == "__main__":
? ? a=eval(input("請輸入系數(shù)a:"))
? ? b=eval(input("請輸入系數(shù)b:"))
? ? c=eval(input("請輸入系數(shù)c:"))
? ? f=Equation(a,b,c)
? ? print("判別式:",f.getDiscriminant1())
? ? print("根1:",f.getRoot1())
? ? print("根2:",f.getRoot2())4. 設(shè)計一個二維向量類,實現(xiàn)向量的加法、減法及向量與標(biāo)量的乘法和除法運(yùn)算,其中要求輸入是元組。
class Vector:?
? ? def __init__(self,a,b):
? ? ? ? self.a = a
? ? ? ? self.b = b
? ? def jia(self):
? ? ? ? c1 = (self.a[0] + self.b[0])
? ? ? ? c2 = (self.a[1] + self.b[1])
? ? ? ? return (c1,c2)
? ? def jian(self):
? ? ? ? c1 = (self.a[0] - self.b[0])
? ? ? ? c2 = (self.a[1] - self.b[1])
? ? ? ? return (c1,c2)
? ? def diancheng(self):
? ? ? ? c1 = (self.a[0] * self.b[0])
? ? ? ? c2 = (self.a[1] * self.b[1])
? ? ? ? return c1+c2
? ? #向量無除法
? ??
if __name__ == "__main__":
? ? a=eval(input("請輸入向量a:"))
? ? b=eval(input("請輸入向量b:"))
? ? f=Vector(a,b)
? ? print(" ?加:",f.jia())
? ? print(" ?減:",f.jian())
? ? print("點乘:",f.diancheng())5. 設(shè)計一個課程類,包括課程編號、課程名稱、任課教師、上課地點 等屬性,把上課地點變量設(shè)為私有的,增加構(gòu)造方法和顯示課程信息的方法。
class Course:?
? ? def __init__(self,Cno,Cname,teacher,local):
? ? ? ? self.Cno = Cno
? ? ? ? self.Cname = Cname
? ? ? ? self.teacher = teacher
? ? ? ? self.__local =local #把上課地點變量設(shè)為私有的
? ? def information(self):
? ? ? ? print("課程編號:",self.Cno)
? ? ? ? print("課程名稱:",self.Cname)
? ? ? ? print("任課教師:",self.teacher)
? ? ? ? print("上課地點:",self.__local)
?
if __name__ == "__main__":
? ? f=Course('NO.','what','who','where')
? ? f.information()6. 設(shè)計一個整形數(shù)組的封裝類,要求實現(xiàn)下列功能:
- 顯示全部數(shù)組數(shù)據(jù)
- 顯示從某位置開始的一段連續(xù)數(shù)組數(shù)據(jù)。
import random
class List:
? ? def __init__(self,lis):
? ? ? ? self.__lis=lis
? ? def quanbu(self): ? ? #全部數(shù)組數(shù)據(jù)
? ? ? ? return self.__lis
? ? def bufen(self,id): ? #從部分位置開始的一段連續(xù)數(shù)組數(shù)據(jù)
? ? ? ? return self.__lis[id:]
?
f=List([random.randint(1,51) for i in range(20)]) ?#設(shè)置數(shù)組為20個1-50的隨機(jī)數(shù)組合
print("顯示全部數(shù)組數(shù)據(jù):",f.quanbu()) ?
random_index = random.randint(0,21) ?#隨機(jī)選取從某一位置開始的索引號
print("顯示從<第{}>位置開始的一段連續(xù)數(shù)組數(shù)據(jù):".format(random_index),f.bufen(random_index))到此這篇關(guān)于Python面向?qū)ο蟮某绦蛟O(shè)計詳情的文章就介紹到這了,更多相關(guān)Python面向?qū)ο蟮某绦蛟O(shè)計內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Django結(jié)合使用Scrapy爬取數(shù)據(jù)入庫的方法示例
這篇文章主要介紹了Django結(jié)合使用Scrapy爬取數(shù)據(jù)入庫的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
Django的restframework接口框架自定義返回數(shù)據(jù)格式的示例詳解
這篇文章主要介紹了Django的restframework接口框架自定義返回數(shù)據(jù)格式,本文介紹了通過Django的restframework接口框架自定義Response返回對象來自定義返回數(shù)據(jù)格式,本文通過示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07
Python使用ffmpeg合成視頻、音頻的實現(xiàn)方法
這篇文章主要介紹了Python使用ffmpeg合成視頻、音頻,通過本文的學(xué)習(xí)能幫助大家了解如何在python中調(diào)用ffmpeg模塊,對此進(jìn)行音視頻合并,完成視頻合成,需要的朋友可以參考下2022-04-04
Python?Web?App開發(fā)Dockerfiles編寫示例
這篇文章主要為大家介紹了Python?Web?App編寫Dockerfiles的示例代碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
ubuntu環(huán)境下python虛擬環(huán)境的安裝過程
這篇文章主要介紹了ubuntu環(huán)境下python虛擬環(huán)境的安裝搭建過程 ,需要的朋友可以參考下2018-01-01
django框架基于模板 生成 excel(xls) 文件操作示例
這篇文章主要介紹了django框架基于模板 生成 excel(xls) 文件操作,結(jié)合具體實例形式分析了Django框架基于模板生成excel的實現(xiàn)步驟與相關(guān)操作技巧,需要的朋友可以參考下2019-06-06
Python創(chuàng)建普通菜單示例【基于win32ui模塊】
這篇文章主要介紹了Python創(chuàng)建普通菜單,結(jié)合實例形式分析了Python基于win32ui模塊創(chuàng)建普通菜單及添加菜單項的相關(guān)操作技巧,并附帶說明了win32ui模塊的安裝命令,需要的朋友可以參考下2018-05-05

