摘要:的代碼沒有什么特別這是一個,現(xiàn)在在里面已經(jīng)支持使用了,所以運(yùn)行順序應(yīng)該是建立運(yùn)行,,的對應(yīng)。之所以寫這個,主要是之前在這里堵了很久,最近在看到了里面關(guān)于這道題的討論才弄明白該怎么寫。的相關(guān)鏈接在下面
about_triangle_prject2的代碼沒有什么特別:
def test_illegal_triangles_throw_exceptions(self): with self.assertRaises(TriangleError): triangle(0, 0, 0)
這是一個with context manager,assertRaises現(xiàn)在在python3里面已經(jīng)支持使用with了,所以運(yùn)行順序應(yīng)該是建立assertRaises>運(yùn)行triangle(0,0,0)>assertRaises __exit__的對應(yīng)。不過這一題主要需要書寫的部分不在這里,而是triangle.py
def triangle(a, b, c): side_arr = sorted([a,b,c]) if side_arr[0]<=0 or side_arr[2]>= side_arr[0]+side_arr[1]: raise TriangleError else: subEdge = set([a,b,c]) if len(subEdge) == 1: return "equilateral" elif len(subEdge) == 2: return "isosceles" else: return "scalene" # Error class used in part 2. No need to change this code. class TriangleError(Exception): pass
這里面關(guān)鍵的內(nèi)容是下面:
side_arr = sorted([a,b,c]) if side_arr[0]<=0 or side_arr[2]>= side_arr[0]+side_arr[1]: raise TriangleError else:
簡單說就是兩個條件,首先不能有任何一個邊長度小于等于0(選取三個邊里面最小的),然后最長邊應(yīng)該短于另外兩邊的和,如果上面的條件不能達(dá)到,那么就raise一個自建的error Class:TriangleError
當(dāng)然TriangleError只是一個空的類,但是沒關(guān)系,這道題這樣就已經(jīng)過了。
之所以寫這個,主要是之前在這里堵了很久,最近在stackoverflow看到了ruby koans里面關(guān)于這道題的討論才弄明白該怎么寫。stackoverflow的相關(guān)鏈接在下面:
http://stackoverflow.com/questions/3834203/ruby-koan-151-raising-exceptions
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/37723.html
摘要:周刊根據(jù)讀者對周刊文章的點擊數(shù)據(jù),評選出了年最受關(guān)注的測試與調(diào)試工具。 Pycoders周刊根據(jù)讀者對周刊文章的點擊數(shù)據(jù),評選出了2013年最受關(guān)注的Python測試與調(diào)試工具。 python_koans (github.com) showImg(https://lh6.googleusercontent.com/3C_maRgJSN4L8CJv9k6CHcNpTGQANwYY_...
摘要:譯發(fā)蠎周刊最贊這周咱們作點兒不同的本文根據(jù)大家過去對周刊文章的點擊量分析出的年度頂級項目希望大家喜歡如果怕我們錯過年的最佳項目請及時郵件知會一下次周我們將恢復(fù)期周刊新年新折騰我們發(fā)布了現(xiàn)在開始到一月底使用優(yōu)惠碼發(fā)布職位信息可以獲得的折扣才 譯發(fā): 蠎周刊 : 2013最贊 Hi Pythonistas! 這周咱們作點兒不同的 ;-) 本文根據(jù)大家過去對周刊文章的點擊量分析出的 ...
摘要:主要的功能和改進(jìn)上支持。對象現(xiàn)在從屬于,在發(fā)布時的嚴(yán)格描述已經(jīng)被刪除一個首次被使用,它自己緩存其范圍。在發(fā)布前,許多的的功能和類別都在命名空間中,后被移到。雖然我們會盡量保持源代碼與兼容,但不能保證。為增加了雙線性插值。 主要的功能和改進(jìn)1. Windows上支持Python3.6。2. 時空域去卷積(spatio temporal deconvolution.)增加了tf.layers.c...
摘要:剛剛,發(fā)布了正式版,很多人都期待已久,最重大的改動是支持和,這承諾將使上的訓(xùn)練速度翻倍。此外,預(yù)覽版可用,也將吸引不少初學(xué)者。其他為添加必要的形狀支持。,,現(xiàn)在支持具有和支持的任意擴(kuò)展。允許稀疏浮動分割以支持多值特征列。 剛剛,TensorFlow發(fā)布了1.5.0正式版,很多人都期待已久,最重大的改動是支持CUDA 9和cuDNN 7,這承諾將使Volta GPUs/FP16上的訓(xùn)練速度翻倍...
摘要:跳轉(zhuǎn)到章節(jié)預(yù)覽在中創(chuàng)建迭代對象的用法是非常流行的。循環(huán)變量和全局命名空間泄漏好消息在中循環(huán)變量不會再導(dǎo)致命名空間泄漏。通過解析用戶的輸入幸運(yùn)的是,在中已經(jīng)解決了把用戶的輸入存儲為一個對象的問題。 注:本文的原文地址為Key differences between Python 2.7.x and Python 3.x 許多 Python 初學(xué)者想知道他們應(yīng)該從 Python ...
閱讀 1915·2021-11-25 09:43
閱讀 1421·2021-11-22 15:08
閱讀 3870·2021-11-22 09:34
閱讀 3292·2021-09-04 16:40
閱讀 3411·2021-09-04 16:40
閱讀 606·2019-08-30 15:54
閱讀 1397·2019-08-29 17:19
閱讀 1819·2019-08-28 18:13