더북(TheBook)

프로그램 1.5.3 일련의 숫자 평균 구하기 (average.py)

import stdio
 
total = 0.0
count = 0
while not stdio.isEmpty():
    value = stdio.readFloat()
    total += value
    count += 1 
avg = total / count
 
stdio.writeln('평균: ' + str(avg))
count
total
읽은 숫자의 개수
합계

이 프로그램은 표준 입력 스트림의 끝에 도달할 때까지 실수를 읽고 평균을 구해 표준 출력 스트림에 출력한다. 프로그램의 관점에서 보면 입력 스트림의 길이는 무한하다. 아래 오른쪽 실행 결과에서는 리다이렉션과 파이프(다음 소절에서 설명)를 이용해 실수 10만 개를 생성해 average.py에 전달한다.

% python3 average.py
10.0 5.0 6.0
3.0
7.0 32.0
[Ctrl]-[D]
평균: 10.5
% python3 ramdomseq.py 1000 > data.txt
% python3 average.py < data.txt
평균: 0.510473676174824
 
% python3 randomseq.py 1000 | python3 average.py
평균: 0.50499417963857
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.