2016-06-13 4 views
0

저는 파이썬에서 총 초보자입니다. 산술 평균을 계산하고 싶습니다.파이썬에서 간단한 산술 평균

a = [int(i) for i in input().split()] 

average=sum(a)/len(a) 

print('The average is:' ,average) 

나는 이러한 코드가 내 문제를 해결할 수 있다고 알고 있지만 그게 내가 원하는 것만은 아니다.

나는 사용자가 산술 평균의 용어 수를 입력 할 수 있기를 원하며, 다른 행에 분리형을 입력 할 수 있기를 바랍니다. 그래서 사용할 루프가 For Loop라고 생각했습니다. 나는이 같은 나왔다 : 내가 알고하는 데 필요한 모든 각 루프에 입력의 모든 값을 요약하고 int(n)으로이 숫자를 나눌 수있는 방법을 찾을 것을 알고

n = input('Number of terms') 

for i in range (1,int(n)+1): 

    a=input('Term number '+str(int(i))+': ') 

하지만 난 아무 생각이 없다 그렇게하는 방법.

저에게 도움을 줄 수 있습니까?

감사합니다.

+0

파이썬 3을 사용하고 있다면,'input'은 문자열을 반환합니다. 정수 (또는 부동 소수점) 번호가 아닙니다. 파이썬 2를 대신 사용한다면'input' 대신'raw_input'을 사용하면 안됩니다. – Evert

+0

_sequence_ 값을 저장하려면 일종의 _sequence_ 유형을 사용하는 것이 자연 스럽습니다. ['list'] (https://docs.python.org/3/tutorial/datastructures.html#more-on -기울기)? –

+0

Evert, Python 3을 사용하고 있습니다. Rogalski, 목록을 올바르게 사용하는 방법을 모르므로이 문제를 해결하기 위해 노력했습니다. – Lucianowz

답변

1
n = input('Number of terms') 
acc = 0 
for i in range(1,int(n)+1): 
    a=input('Term number '+str(int(i))+': ') 
    acc += float(a) 
print('The average is ',acc/int(n)) 

아이디어는 acc 변수에있는 입력 한 번호를 추가하기 누적를 만드는 것입니다. 루프 acc이 입력 된 모든 숫자의 합계와 같습니다. 용어의 수로 나누면 산술 평균이됩니다.

+0

단어가 내 대답과 동일하지 않습니까? – SvbZ3r0

+0

아, 알겠습니다! 이 accumulator 변수를 사용하는 데 문제가있었습니다. 나는 이것에 관해 더 많이 읽을 것이다. 나는 그 문제가 하하를 해결했다고 생각한다. 감사 :) – Lucianowz

0

시도 :

n = int(input('Number of terms')) 
sum = 0 
for i in range (1,n+1): 
    a=int(input('Term number '+str(i)+': ')) 
    sum += a 
avg = sum/n 
+0

ㅎㅎ 난 당신의 코드를 시도하지만이 오류 메시지가 있어요 : – Lucianowz

+1

'A'가 있습니다 : "형식 'STR'의 비 INT에 의해 순서를 곱 수없는이 형식 오류가 = A *에서 8 호선을," 'int'. 우리는 그것을 a = int (input ('Term number'+ str (i) + ':'))'에 'int'로 명시 적으로 캐스팅합니다. 당신이 그것을 던지겠습니까? – SvbZ3r0

+0

예. 난 그냥 CTRL + C Ctrl + V를 당신의 대답. 나는 파이썬 3 btw를 사용하고있다. – Lucianowz

관련 문제