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