2017-04-18 102 views
2

我有一個客戶端 - 服務器項目,其中有一個方法customs,它可以在購買汽車時計算海關支付。它有兩個形式參數:YearofProduction和CostOfCar。Python:檢查數組是否沒有所需數量的成員

在客戶機命令行,I型

海關2017年20000

,並獲得金錢X和的回報。我們來調用CUSTOMS 2017 20000 theRequest(所以它是一個字符串)。在服務器

Python代碼:

data = conn.recv(1024) 
point = data.decode("ASCII") 
points = point.split(' ') 
MESSAGE = points[0] 

,並呼籲它:

if points[0]=="CUSTOMS": 
    if points[1].isdigit(): #the second argument is float, so .isdigit() is not working 
     CUSTOMS(points[1], points[2]) 
    else: 
     MESSAGE = "Input error" 
     conn.send(MESSAGE.encode("ASCII")) 
else: 
    MESSAGE = "Input Error" 
    conn.send(MESSAGE.encode("ASCII")) 

的問題是,當我不做第二個參數的輸入,服務器不響應任何東西。我怎麼能說,如果點[2] == null(不能因爲動態矢量,點[2]不存在)。或者,我該怎麼做才能檢查矢量有多少個成員?如果2(消息(points [0])和第一個參數(points [1]),然後顯示錯誤消息?

+4

無論是我的誤解,或者你正在尋找的晦澀' len'內建 – timgeb

+0

哦,我的!我不知道你可以在數組中使用len,是的,當我寫s = len(points)時,它返回了成員數量,所以我會做一些事情就像if(s == 3):#bllablla else:error – concretejungle

+0

*** obscure len builtin *** :) –

回答

2

使用len內建函數來獲取任何有限集合(列表,元組,集合,...)。

(或者更精確地說,任何是,一個Sized對象,即有一個__len__方法。)

相關問題