大家好,我目前在國外求學,算是程式新手
班上一個人都不認識,助教的口音也幾乎聽不懂QQ
只好拿作業上來問
題目是要寫一個increment的方法,輸入和輸出的型態都要是list
例子:
z=[0,9,9,9]
z.increment()
>> [1,0,0,0]
我目前寫的:
def increment(self):
zadd=self.amount
a=zadd
while '9' in a:
a.remove('9')
if a==[]:
zadd=['0',zadd] #如果陣列裡全是9,在最前面加0
i=len(zadd)
while i!=0:
if zadd[i-1]=='9' :
zadd[i-1]='0' #一項一項將9轉為0
i-=1
else:
zadd[i-1]+=1 #非9的話加1
return zadd
將9轉為0那邊沒有問題
但當陣列全為9,在最前面加入0那邊
不知道為什麼zadd其中的9也跟著a被remove掉
舉個例子,如果輸入['0','9','9','9'],a會變成['0'],但zadd也會一起變成['0']
但我以為zadd應該還是原本的樣子
第二個問題是else裡+1那邊,請問要怎麼做才能讓list中的東西進行運算呢
我試過將他轉成string,但還是顯示must str not int
感謝