我有一个说两个值的列表,然后我应该将每个值乘以一个整数,直到两个元素都变为整数并将这些新值附加到新列表。假设我有一个列表[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