python3 for 반복문 질문입니다.

조회수 1105회

엑셀 데이터 정리를 하면서 궁금한점이 생겼는데요. for문이 정말 유용하고 좋은데, 완벽하게 이해를 못해서 그런지 코딩하는데 문제를 많이 겪고 있습니다. 'history'의 리스트는 0부터 100까지 있어서 for문으로 만들었는데요.

코드는 아래와 같습니다.

for a in history:
a = int(a['price'])*float(a['qty'])
b = b+1
if (a > 49900) and (a < 50100):
    ws.cell(row=b, column=3, value=int(a))
else:
    list(a)
    for c in a:
        r = a + c
        ws.cell(row=b, column=3, value=int(r))

'history' 라는 리스트에 'price'와 'qty'의 key 값이 있다고 가정하고, for문에서

if (a > 490000) and (a <50100):
ws.cell(row=b, column=3, value=int(a))

위와 같은 조건을 만들었습니다. 여기서 제가 궁금한점은 'history'라는 리스트에서 순서대로 엑셀에 입력을 하면서 위와 같은 조건보다 낮은 값이 나오면, 낮은 값끼리 더해서 하나의 행에 49900 과 50100 사이 값이 되면 출력을 하고 싶습니다.

그런데 그 다음에 오는 값을 어떻게 기억해두었다가 같이 더해서 출력할 수 있는지 궁금합니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • if (c > 49900) and (c < 50100):
        ws.cell(row=b, column=3, value=int(c))
    else:
        sum = 0
        sum = sum + c
        b = b-1
        if (sum > 49900) and (sum < 50100):
            ws.cell(row=b, column=3, value=int(sum))
        else:
            continue
    

    이렇게 하니까 되는군요...질문해놓고, 혼자서 답변하기 ㅠㅠ

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)