2017-06-20 95 views
-3
def answer(l): 
# your code here 
    l1=[] 
    l2=[] 
    l0=[] 
    l.sort(reverse=True) 
    for i in l: 
     if i%3==0: 
     l0.append(i) 
     elif i%3==1: 
     l1.append(i) 
     elif i%3==2: 
      l2.append(i) 
    if(sum(l)%3==0): 
     return int(''.join(str(e) for e in l)) 
    elif sum(l)%3==1: 
     if l1!=[]: 
     l1.pop() 
     else: 
      if len(l2)>=2: 
       l2.pop() 
       l2.pop() 
      else: 
       return 0 
    elif sum(l)%3==2: 
     if l2!=[]: 
     l2.pop() 
     else: 
      if len(l1)>=2: 
       l1.pop() 
       l1.pop() 
      else: 
       return 0 
    l1.extend(l2) 
    l1.extend(l0) 

    l1.sort(reverse=True) 
    return int(''.join(str(e) for e in l1)) 

l1列表需要轉換爲字符串,然後轉換爲int,但是出現值錯誤。我能知道爲什麼嗎?
輸入:(INT表)[3,1,4,1] 輸出:(INT)4331爲什麼在將字符串列表轉換爲int時出現錯誤值

+2

什麼是'l1'?目前很難猜出這個錯誤。 –

+0

請提供樣本'l1',具體的錯誤信息和要求的輸出。 – anonymoose

+0

是的,我已經改變了,你可以檢查一下嗎? –

回答

3

l1一些元件的字符串表示不匹配^[0-9]+$

這就是爲什麼你會得到ValueError

+1

@AkshayMakutam吧? '代碼'是什麼? – Uriel

+1

只讀了他的想法。 (順便說一句,整數也可以是負數;-) – tevemadar

+1

@tevemadar是的,最終的'''.join'應該看起來像'^ - ?[0-9] + $',但只有第一個項目可以有' '前綴 – Uriel

相關問題