두 개의 값을 말하는 목록이 있습니다. 두 요소가 정수가되고 새 값을 새 목록에 추가 할 때까지 각 값에 정수를 곱해야합니다. 목록이 있다고 가정하면 [0.5,1]
, 일어날 일은 2를 곱해서 1과 2를 얻고 이들을 새로운 목록 [1,2]
에 추가하는 것입니다. 필자가 작성한 코드의 경우 새 목록에 4 개 값 (!)이 표시됩니다. 두 개를 구해야하는데 코드에서 오류가있는 위치는 어디입니까? 당신이 while
루프의 내부 alist
을 삭제해야처럼List가 예상보다 많은 값을 반환합니다.
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와 같은 모든 분들께서 간단히 말해서, while 루프에 알리 스트를 넣으면 완벽하게 작동합니다. 그러한 미세한 변화가 프로그램에 얼마나 큰 차이를 가져 왔는지 놀랍습니다. 다시 한 번 감사드립니다. – user1036197