• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

code 관련

21.03.10 07:01 작성 조회수 78

0

안녕하세요. minor 한 사항인데 강의 후반부에 code 수정 하기 전에 아래 코드에서 for 문 밖 count에는 0, for문 안 count에는 1이 입력 되어야 month count가 제대로 되는 거 같습니다. 확인 부탁 드릴께요. 

seoul_average = []

seoul_month = []

month = 1

count = 1

average = 0

for i, j in zip(processedDataSeoul_x, processedDataSeoul_y):

    if month != int(i):

        print(seoul_average)

        seoul_average.append(average//count)

        print(count)

        seoul_month.append(month)

        month = int(i)

        count = 0

        average = 0

    else:

        average += float(j)

        count += 1

답변 1

답변을 작성해보세요.

0

안녕하세요 제주코딩베이스캠프입니다:)

소스 코드를 확인한 결과 질문자님께서 답해주신 그대로 선언시에는 count=0, if문 안에서는 count= 1이 되어야 합니다. 아래의 소스코드를 참고해 주시길 바랍니다.

원래의 소스코드

seoul_average = []

seoul_month = []

month = 1

count = 1

average = 0

for i, j in zip(processedDataSeoul_x, processedDataSeoul_y):

    if month != int(i):

        print(seoul_average)

        seoul_average.append(average//count)

        print(count)

        seoul_month.append(month)

        month = int(i)

        count = 0

        average = 0

    else:

        average += float(j)

        count += 1

변경된 소스코드

seoul_average = []

seoul_month = []

month = 1

count = 0

average = 0

for i, j in zip(processedDataSeoul_x, processedDataSeoul_y):

    if month != int(i):

        print(seoul_average)

        seoul_average.append(average//count)

        print(count)

        seoul_month.append(month)

        month = int(i)

        count = 1

        average = 0

    else:

        average += float(j)

        count += 1

선언시 count에 1을 두게 되면 1을 포함한 값이 계속 누적이 되며 결국 일자+1이 됩니다. 그렇기 때문에 처음 선언할 때에는 0으로 바꿔주셔야 합니다.

if문 안에서 count가 1이 되어야 되는 이유는 월이 바뀔 경우에 count=0이면 해당 일자는 포함되지 않고 넘어가기 때문에 count=1로 하셔야 합니다.

피드백 주셔서 감사합니다. 추가로 궁금하신 점이 있거나 답변이 충분하지 않았다면 답글 부탁드립니다. 감사합니다.