成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

python koans: Triangle.py, about_triangle_project2

stefan / 2874人閱讀

摘要:的代碼沒有什么特別這是一個,現(xiàn)在在里面已經(jīng)支持使用了,所以運行順序應該是建立運行,,的對應。之所以寫這個,主要是之前在這里堵了很久,最近在看到了里面關于這道題的討論才弄明白該怎么寫。的相關鏈接在下面

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了,所以運行順序應該是建立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

這里面關鍵的內(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(選取三個邊里面最小的),然后最長邊應該短于另外兩邊的和,如果上面的條件不能達到,那么就raise一個自建的error Class:TriangleError

當然TriangleError只是一個空的類,但是沒關系,這道題這樣就已經(jīng)過了。

之所以寫這個,主要是之前在這里堵了很久,最近在stackoverflow看到了ruby koans里面關于這道題的討論才弄明白該怎么寫。stackoverflow的相關鏈接在下面:

http://stackoverflow.com/questions/3834203/ruby-koan-151-raising-exceptions

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://systransis.cn/yun/37723.html

相關文章

  • 2013年度Python測試與調(diào)試工具

    摘要:周刊根據(jù)讀者對周刊文章的點擊數(shù)據(jù),評選出了年最受關注的測試與調(diào)試工具。 Pycoders周刊根據(jù)讀者對周刊文章的點擊數(shù)據(jù),評選出了2013年最受關注的Python測試與調(diào)試工具。 python_koans (github.com) showImg(https://lh6.googleusercontent.com/3C_maRgJSN4L8CJv9k6CHcNpTGQANwYY_...

    Karrdy 評論0 收藏0
  • 蠎周刊 : 2013最贊

    摘要:譯發(fā)蠎周刊最贊這周咱們作點兒不同的本文根據(jù)大家過去對周刊文章的點擊量分析出的年度頂級項目希望大家喜歡如果怕我們錯過年的最佳項目請及時郵件知會一下次周我們將恢復期周刊新年新折騰我們發(fā)布了現(xiàn)在開始到一月底使用優(yōu)惠碼發(fā)布職位信息可以獲得的折扣才 譯發(fā): 蠎周刊 : 2013最贊 Hi Pythonistas! 這周咱們作點兒不同的 ;-) 本文根據(jù)大家過去對周刊文章的點擊量分析出的 ...

    lavnFan 評論0 收藏0
  • TensorFlow1.2.0版發(fā)布:14大新功能,增加Intel MKL集成

    摘要:主要的功能和改進上支持。對象現(xiàn)在從屬于,在發(fā)布時的嚴格描述已經(jīng)被刪除一個首次被使用,它自己緩存其范圍。在發(fā)布前,許多的的功能和類別都在命名空間中,后被移到。雖然我們會盡量保持源代碼與兼容,但不能保證。為增加了雙線性插值。 主要的功能和改進1. Windows上支持Python3.6。2. 時空域去卷積(spatio temporal deconvolution.)增加了tf.layers.c...

    cjie 評論0 收藏0
  • TensorFlow正式發(fā)布1.5.0,支持CUDA 9和cuDNN 7,雙倍提速

    摘要:剛剛,發(fā)布了正式版,很多人都期待已久,最重大的改動是支持和,這承諾將使上的訓練速度翻倍。此外,預覽版可用,也將吸引不少初學者。其他為添加必要的形狀支持。,,現(xiàn)在支持具有和支持的任意擴展。允許稀疏浮動分割以支持多值特征列。 剛剛,TensorFlow發(fā)布了1.5.0正式版,很多人都期待已久,最重大的改動是支持CUDA 9和cuDNN 7,這承諾將使Volta GPUs/FP16上的訓練速度翻倍...

    zgbgx 評論0 收藏0
  • Python 2.7.x 和 Python 3.x 的主要區(qū)別

    摘要:跳轉到章節(jié)預覽在中創(chuàng)建迭代對象的用法是非常流行的。循環(huán)變量和全局命名空間泄漏好消息在中循環(huán)變量不會再導致命名空間泄漏。通過解析用戶的輸入幸運的是,在中已經(jīng)解決了把用戶的輸入存儲為一個對象的問題。 注:本文的原文地址為Key differences between Python 2.7.x and Python 3.x 許多 Python 初學者想知道他們應該從 Python ...

    clasnake 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<