수업 테스트를했고 .. 샘플 테스트를 제공했습니다. 질문 중 하나는 목록에있는 항목의 평균 을 계산 하는 다음 코드를 제공 한 다음 모든 오류를 찾아달라고 요청했습니다.
# brightness levels –maximum is 100
shape_brightness = [15,92,38,42]
item_no = 0
total = 0
if (item_no < len(shape_brightness):
total = shape_brightness[item_no]
item_no = item_no + 1
average = total / item_no
print(“The average brightness level is “+str(averge))
그러나 솔루션에서 그들은 가장 큰 오류는 실제로 while 문 이어야한다는 것입니다 . .. 왜 그런지 이해할 수 없습니까? 이유에 대한 설명 ??
평균을 계산하려면 모든 요소를 반복해야합니다. if 문은이 배열의 첫 번째 요소 만 방문합니다.
당신의 코드에 액세스 할 때 shape_brightness[item_no]
, item_no
그것은 0으로 때문에, 인덱스이며 shape_brightness[item_no]
모든 다른 값을 포함하기 위해 단지 숫자 15입니다 shape_brightness
평균 계산에, 당신은 그들뿐만 아니라, 그래서 당신은 증가 시킨다는에게 어떻게 접근하려는 item_no
루프를 사용하여 액세스하려는 요소 수만큼 인덱싱 합니다.
while 루프는 모든 요소를 반복하는 한 가지 방법이며 'if'를 'while'으로 변경하는 것이이 코드에 대한 가장 빠른 수정이지만 추가 변경 사항이있는 for 루프도 작동합니다. 예
for item in range(len(shape_brightness)):
execute
이 경우 item_no 카운터가 필요하지 않습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다