2016-10-30 3 views
-2

저는 intro 프로그래밍 클래스에 속하며 방금 루프 학습을 시작했습니다. 내 질문은 입력의 평균 값에 대해 묻고 while 루프를 사용하여 수행해야한다. 사용자가 숫자 대신 끝을 입력하면 루프의 끝을 의미하고 평균값을 계산합니다. 프로그램은 평균값을 출력하고 그것을 반환해야합니다. 또한 사용자가 숫자를 입력하지 않고 직접 입력을 끝내면 "No numbers were entered"라고 인쇄됩니다. 루프를 만들려고했지만 루프가 실행되기 위해 내가 무엇을 놓치고 있는지 알지 못합니다. 또한, 나는 등 합계 AVE, 여기파이썬에서 평균 입력 값

원하는 붙박이 기능을 사용할 수 없습니다하고 내가

def avgOfTheSum(): 
    total = 0 
    avg = 0 
    count = 0 
    while True: 
     number = input("Enter next number:") 
     if number != 'end': 
      num = float(number) 
      total = total + num 
      count = count + 1 
      average = total/count 
     else: 
      print("The Average is:",average) 
      break 
    return average 
+0

지금까지 코드를 공유하십시오. – Mureinik

+1

다른 사람들이 당신에게 물어 보는 것처럼 숙제를 요청할 수 없다고 생각합니다. 우리는 사람들을위한 코드를 작성하지 않습니다. [this] (http://meta.softwareengineering.stackexchange.com/questions/6166/open-letter-to-students-with-homework-problems?newreg=1216e0ad88d74ebbab12ba8299cc7e3c)를 읽으십시오. –

+0

코드를 게시해야합니다. – Statham

답변

1

몇 가지 팁을 내 그리 경험하지에서 지금까지 작성한 코드 시점 :

변수를 증가시킬 때. 'total = total + num'을 사용하면보다 간단한 방법으로 할 수 있습니다. 'total + = num'을 사용하면 똑같은 일을하고 코드가 밝아집니다. 어떤 사람들은 추한 것을 발견합니다. 그렇다면 그것을 사용하십시오.

처음에는 '평균'이라는 변수를 선언했지만 나중에 '평균'을 사용하면 '평균'을 인쇄하려고 할 때 오류가 발생하고 첫 번째 'if'문을 무시했기 때문에 정의되지 않았습니다. 평균에 대해 하나의 이름을 사용해야합니다. '평균'또는 '평균'중 하나라도 괜찮지 만 코드가 이해하기 쉬워야하므로 너무 많은 것을 쥐어 짜지 마세요. 특히 작업이 끝나면 검토 할 때 특히 그렇습니다. 하나의 이름을 사용하고 붙여야합니다. 그렇게하면 사용자가 코드에서 처리하지 않는 내용을 입력 할 때 오류가 발생하지 않습니다.

사용자가 숫자를 전달할 수 있도록 안전망을 추가 할 수 있지만 가장 간단한 방법으로는 파이썬 기본 제공 기능을 사용해야합니다.

당신은 같은 것을 추가 할 수 있습니다 (하지 파이썬 그렇게처럼 쓰지 않는다)
카운트 = 0 는 다음
을 '어떤 번호를 입력하지'인쇄하는 경우 다음 중 하나를 응용 프로그램
을 종료하려면
휴식 또는 사용자가 숫자를 입력하도록 강요하고 싶으면 패스하십시오 (새 루프 실행)

희망이 조금 있습니다!