Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 19, 2016 15:35:53

vic57
Зарегистрирован: 2015-07-07
Сообщения: 913
Репутация: +  127  -
Профиль  

Несколько вопросов по программе

 			for i in par:
				i = par[1]
				if i[-1] == 'Z':
					timeUTC = int(i[2:4])
					strtime = str(timeUTC)
					st = strtime+':'+i[4:6]
					break
#у тебя после определения времени идет выход из цикла

Офлайн

#2 Окт. 19, 2016 19:16:39

vic57
Зарегистрирован: 2015-07-07
Сообщения: 913
Репутация: +  127  -
Профиль  

Несколько вопросов по программе

последнее китайское предупреждение - пиши функции

  
#!/usr/bin/env python
# coding:utf8
import requests
from html2text import html2text
import csv
import sys
def get_metar(url,ikao):
    page = requests.get(url+ikao).text
    lines = html2text(page).split('\n')
    return lines
def parse_metar(ikao,lines):
    lst =[['OVC',1.0],['BKN',0.75],['SCT',0.4],['FEW',0.15],['NSC',0.0],['SKC',0.0]]
    for line in lines:
        if not ikao in line: continue
        i = line.split()[1]
        if i[-1] != 'Z': break
        timeUTC = int(i[2:4])
        strtime = str(timeUTC)
        st = strtime+':'+i[4:6]
        for i in lst:
            if i[0] in line:
                return ikao +': '+ st +' '+ str(i[1])
    return line
if __name__=="__main__":
    
    filename = "stations.txt"
    url0 ='http://aviationweather.gov/metar/data?ids='
    fd = open(filename, "r")
    reader = csv.reader(fd, delimiter="\t")
    for row in reader:
        l = get_metar(url0,row[0])
        result = parse_metar(row[0],l)
        print result
    fd.close()

Отредактировано vic57 (Окт. 19, 2016 19:38:05)

Офлайн

#3 Окт. 20, 2016 22:42:26

Tenebras
Зарегистрирован: 2016-07-05
Сообщения: 97
Репутация: +  0  -
Профиль   Отправить e-mail  

Несколько вопросов по программе

vic57
последнее китайское предупреждение - пиши функции

Начинаю осиливать функции. Если будут вопросы - буду кричать сюда.

Офлайн

#4 Окт. 21, 2016 00:44:29

vic57
Зарегистрирован: 2015-07-07
Сообщения: 913
Репутация: +  127  -
Профиль  

Несколько вопросов по программе

Tenebras
Начинаю осиливать функции. Если будут вопросы - буду кричать сюда.
сначала нужно составить блок-схему и идти от нее, а потом код писать
1. ты грузишь файл станций и тут же его парсишь по долготе и широте. я бы загрузил файл станций полностью как есть и оставил на диске - вдруг у тебя будет другое задание
def load_stations(filename,url)
#загружает список станций
2. делать выборку из файла станций по нужным параметрам - широте, стране и прочему
def parse_stations(filename,list_param)
#возвращает список станций из файла по заданным параметрам
 
3. получить metar - данные из выборки
def get_metar(url,station_list)
#возвращает список metar-данных
4.распарсить metar
def parse_metar(metar_string)
# парсит metar-данные

Отредактировано vic57 (Окт. 21, 2016 00:44:53)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version