Программирование и научные вычисления на языке Python/§14: различия между версиями

Содержимое удалено Содержимое добавлено
Нет описания правки
Нет описания правки
Строка 57:
 
Если просмотреть этот файл в текстовом редакторе или в том же браузере, мы увидим, что файл содержит четыре столбца: первый обозначает номер месяца, второй — число, третий — год, четвертый — температуру в градусах Фаренгейта.
 
Как мы можем использовать эти данные в программе? Во-первых, мы должны определиться со структурой хранения данных. Для этих целей неплохо подойдет вложенный словарь в виде <tt>temp[year][month][date]</tt>. Узнаем месяц, потом номер месяца, потом число и получаем соответствующее значение температуры. Процесс конвертирования файла в нашу базу данных заключается в последовательном чтении строк, их разбиении на слова, использовании первых трех слов в качестве ключей и последнего в качестве значения:
 
 
<source lang="python">
import urllib
url = 'http://www.engr.udayton.edu/faculty/jkissock/gsod/RSMOSCOW.txt'
urllib.urlretrieve(url, filename='Moscow.txt')
 
infile = open('Moscow.txt', 'r')
temps = {}
for line in infile:
month, date, year, temperature = line.split()
month = int(month)
date = int(date)
year = int(year)
temperature = float(temperature)
if not year in temps:
temps[year] = {}
if not month in temps[year]:
temps[year][month] = {}
temps[year][month][date] = temperature
infile.close()
 
# выберем день, чтобы проверить, что работа выполнена правильно:
year = 2003; month = 3; date = 31
T = temps[year][month][date]
print '%d.%d.%d: %.1f' % (year, month, date, T)</source>