1、熟悉類的字段與方法:
舉例:定義表平面二維點point類:有靜態欄位count (用來計數一共有幾個點),私有屬性普通欄位x,y(表示每個點的座標);方法有個:構造函__init__用來初始化點 座標x,y、計數count的值),獲取私有普通欄位x,y的方法get x與get y(用來獲取私有普通欄位x,y的值)、專有方法___str__(用格式化輸出函式),計算點間的距離distance方法。
class point:
count = 0
def __init__(self, x, y):
self.__x = x
self.__y = y
point.count = point.count + 1
def getx(self):
return self.__x
def gety(self):
return self.__y
def __str__(self):
return '('+str(self.__x)+','+str(self.__y)+')'
def distance(self,other):
return ( (self.getx()-other.getx())**2 + (self.gety()-other.gety())**2 )**0.5
2、熟悉類的應用:
例:設計乙個類root來計算ax2+bx+c=0的根。該類包括:a、b、c共3個屬性表示方程的3個係數,getdiscriminant()方法返回b2-4ac, getroot1()和getroot2()返回方程的兩個根。
import math
class root:
def __init__(self,a,b,c):
self.a=a
self.b=b
self.c=c
def getdiscriminant(self):
return self.b **2 - 4*self.a*self.c
def getroot1(self):
return (0-self.b+math.sqrt(self.getdiscriminant()))/(2*self.a)
def getroot2(self):
return (0 - self.b - math.sqrt(self.getdiscriminant())) / (2 * self.a)
a=float(input()) #請輸入二次項係數
b=float(input()) #請輸入一次項係數
c=float(input()) #請輸入常數項係數
root=root(a,b,c)
if root.getdiscriminant()>0:
print("".format(root.getroot1()))
print("".format(root.getroot2()))
elif root.getdiscriminant()==0:
print("".format(root.getroot1()))
else:
print("no root!")
3、jmu-python-生日悖論 (15point(s))
生日悖論,指如果乙個房間裡有23個或23個以上的人,那麼至少有兩個人的生日相同的概率要大於50%。嘗試程式設計驗證。
然後檢視有無重複的生日。
最後算出重複的比率。
import random
x, n = map(int, input().split())
num = 0
random.seed(x)
for i in range(n):
a =
for j in range(23):
if len(a) != len(set(a)):
num += 1
print("rate=".format(num/int(n)))
Python期末複習筆記
字串的格式化 1,使用format 方法進行格式化 字串常用方法 find 和rfind方法分別用來查詢乙個字串在另乙個字串指定範圍 預設是整個字串 中首次和最後一次出現的位置,如果不存在則返回 1 index 和rindex 方法用來返回乙個字串在另乙個字串指定範圍中首次和最後一次出現的位置,如果...
Python期末複習部分題目
參考 一.單選題 1.在python互動模式下,輸入下面 format 12345.6789 回車後顯示的結果為 a 12345.68b 12345.68 c 12 d 12 2.在python互動模式下,輸入下面 s python format s 回車後顯示的結果為 a python b pyt...
期末複習 雜
圖 g v n,e m 無向完全圖 m n n 1 2 有向完全圖 m n n 1 無向圖g有尤拉迴路,當且僅當g是連通圖且無奇度頂點 所以選c 無向圖g有尤拉通路,但無尤拉迴路,當且僅當g是連通圖且恰好有兩個奇度頂點,這兩個奇度頂點是尤拉通路的端點 如a,d就是尤拉通路,卻不是尤拉迴路 樹設g v...