grade=['Ben Anderson',95,90,100,-1,'Mary Johnson',75,78,79,-5,'Michael Walter',80,68,0]
def convert_grades(lst):
a = []
b = []
for i in lst:
if isinstance(i,str):
c = 0
while lst[c] < 0 or lst[c] == []:
a = a + lst[c]
c = c + 1
b = b + a
return b
我希望它回來作爲爲什麼我的代碼無法獲得預期的回報?
[['Ben Anderson',95,90,100],['Mary Johnson',75,78,79],['Michael Walter',80,68,0]]
但作爲回報[]
我不知道發生了什麼事情做。需要幫助。
建議:幫你調試,用'到處print'來看看怎麼回事。如果它是'[]'主要是你的一些邏輯沒有解決。這是調試問題的最簡單方法。 – User007 2012-08-14 22:00:26
我會說,雖然從未執行......不知道,但 – BorrajaX 2012-08-14 22:04:06
@BorrajaX是的。因爲第一個元素是「Ben Anderson」,並且它是一個字符串。第二個條件是'lst [0]'必須是一個空列表,而不是。所以它總是返回虛假:) – User007 2012-08-14 22:05:23