我有一個說兩個值的列表,然後我應該將每個值乘以一個整數,直到兩個元素都變爲整數並將這些新值附加到新列表。假設我有一個列表[0.5,1]
,應該發生的事情是,我將每個乘以2並得到1和2並將它們附加到一個新列表[1,2]
。對於我寫的代碼,當我只需要兩個代碼時,我會在新列表中得到四個值(!),代碼中的錯誤在哪裏?列表返回比預期更多的值
u=1
newlist = [1, 0.5]
alist = []
while True:
cont = True
for value in newlist:
w = value*u
rounded = round(w)
alist.append(rounded)
if not (abs(rounded - w)<=0.1):
cont = False
if cont:
break
u+=1
謝謝大家,'就像F.J.說的,我只是把alist放在while循環中,它的工作很完美。這種微小的變化對你的程序有多大的影響是驚人的。再次感謝,非常感謝! – user1036197