Python - Lists of Numbers: Processing List Data - statistics, mean method
Head First Python: A Learner’s Guide to the Fundamentals of Python Programming, A Brain-Friendly Guide、 Paul Barry(著)、 O’Reilly Mediaの Chapter 3.(Lists of Numbers: Processing List Data)、EXERCISE(85/101)の解答を求めてみる。
Jupyter(コード、入出力結果)
Times.ipynb
FN = 'Darius-13-100m-Fly.txt'
FOLDER = 'swimdata/'
with open(FOLDER + FN) as file:
lines = file.readlines()
times = lines[0].rstrip('\n').split(',')
converts = []
for t in times:
minutes, rest = t.split(':')
seconds, hundredths = rest.split('.')
converted_time = int(minutes) * 60 * 100 + int(seconds) * 100 + int(hundredths)
converts.append(converted_time)
import statistics
average = statistics.mean(converts)
mins_secs, hundredths = str(round(average / 100, 2)).split('.')
mins_secs = int(mins_secs)
minutes = mins_secs // 60
minutes
1
seconds = mins_secs - minutes*60
seconds
26
swimmer, age, distance, stroke = FN.removesuffix('.txt').split('-')
average = f'{minutes}:{seconds}.{hundredths}'
average, swimmer, age, distance, stroke
('1:26.58', 'Darius', '13', '100m', 'Fly')
times
['1:27.95', '1:21.07', '1:30.96', '1:23.22', '1:27.95', '1:28.30']