網站首頁 編程語言 正文
1. 設計一個圓類,包括圓心位置、半徑、顏色等屬性。編寫構造方法, 計算周長和面積。
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') #坐標、半徑、顏色 ? ? C = circle.length() ? ? S = circle.area() ? ? print('圓周長為:{:.2f}'.format(C)) ? ? print('圓面積為:{:.2f}'.format(S))
?2. 設計一個描述自由落體運動的類,要求能獲得任意時刻的速度及位移,并進行測試。已知重力加速度為 9.8m/s。
class Free: ? ? def __init__(self,t):? ? ? ? ? self.t = t ? ? def getv(self): #速度函數 ? ? ? ? v=9.8*self.t ? ? ? ? return v ? ? def getx(self): #位移函數 ? ? ? ? x=0.5*9.8*self.t**2 ? ? ? ? return x ? ?? if __name__ == "__main__": ? ? t=eval(input("請輸入時刻t:")) ? ? f=Free(t) #調用 ? ? print("t={} 時刻的".format(t),end='') ? ? print("速度為:{:.2f}".format(f.getv())) ? ? print("t={} 時刻的".format(t),end='') ? ? print("位移為:{:.2f}".format(f.getx()))
3. 為二次方程式 ax2+bx+c=0 設計一個名為 Equation 的類,這個類包括:
- 代表 3 個系數的成員變量 a、b、c;
- 一個參數為 a、b、c 的構造方法;
- 一個名為 getDiscriminant1 的方法返回判別式的值;
- 一個名為
getRoot1
和getRoot2
的方法返回等式的兩個根, 如果判別式為負,這些方法返回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("請輸入系數a:")) ? ? b=eval(input("請輸入系數b:")) ? ? c=eval(input("請輸入系數c:")) ? ? f=Equation(a,b,c) ? ? print("判別式:",f.getDiscriminant1()) ? ? print("根1:",f.getRoot1()) ? ? print("根2:",f.getRoot2())
4. 設計一個二維向量類,實現向量的加法、減法及向量與標量的乘法和除法運算,其中要求輸入是元組。
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. 設計一個課程類,包括課程編號、課程名稱、任課教師、上課地點 等屬性,把上課地點變量設為私有的,增加構造方法和顯示課程信息的方法。
class Course:? ? ? def __init__(self,Cno,Cname,teacher,local): ? ? ? ? self.Cno = Cno ? ? ? ? self.Cname = Cname ? ? ? ? self.teacher = teacher ? ? ? ? self.__local =local #把上課地點變量設為私有的 ? ? 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. 設計一個整形數組的封裝類,要求實現下列功能:
- 顯示全部數組數據
- 顯示從某位置開始的一段連續數組數據。
import random class List: ? ? def __init__(self,lis): ? ? ? ? self.__lis=lis ? ? def quanbu(self): ? ? #全部數組數據 ? ? ? ? return self.__lis ? ? def bufen(self,id): ? #從部分位置開始的一段連續數組數據 ? ? ? ? return self.__lis[id:] ? f=List([random.randint(1,51) for i in range(20)]) ?#設置數組為20個1-50的隨機數組合 print("顯示全部數組數據:",f.quanbu()) ? random_index = random.randint(0,21) ?#隨機選取從某一位置開始的索引號 print("顯示從<第{}>位置開始的一段連續數組數據:".format(random_index),f.bufen(random_index))
原文鏈接:https://blog.csdn.net/weixin_53173524/article/details/122590006
相關推薦
- 2021-12-09 VS2017開發C語言出現“no_init_all“的解決辦法_C 語言
- 2023-07-15 css 多余部分用省略號代替
- 2023-03-28 Python使用機器學習模型實現溫度預測詳解_python
- 2022-04-11 C#創建控制Windows服務_C#教程
- 2022-11-21 Android?Jetpack系列之App?Startup使用詳解_Android
- 2022-10-30 Matlab利用遺傳算法GA求解非連續函數問題詳解_C 語言
- 2022-11-02 React+Mobx基本使用、模塊化操作_React
- 2022-09-16 Go1.16新特性embed打包靜態資源文件實現_Golang
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支