43 lines
702 B
Python
43 lines
702 B
Python
import sys
|
|
|
|
|
|
def ask():
|
|
prompt = '>'
|
|
while True:
|
|
response = input(prompt)
|
|
if not response:
|
|
return 0
|
|
yield response
|
|
|
|
|
|
def parse_args():
|
|
yield from iter(sys.argv[1:])
|
|
|
|
|
|
def fetch(producer):
|
|
gen = producer()
|
|
next(gen)
|
|
yield from gen
|
|
|
|
|
|
def main(args):
|
|
if args:
|
|
producer = parse_args
|
|
else:
|
|
producer = ask
|
|
|
|
total = 0
|
|
count = 0
|
|
gen = fetch(producer())
|
|
while True:
|
|
term = yield from gen
|
|
term = float(term)
|
|
total += term
|
|
count += 1
|
|
average = total / count
|
|
print('total: {} average: {}'.format(total, average))
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main(sys.argv[1:])
|