Найти - Пользователи
Полная версия: Почему при использовании raw_input выдает ошибку?
Начало » Python для новичков » Почему при использовании raw_input выдает ошибку?
1
Tenebras
Кусок программы

 # Указываем географические координаты пункта в градусах
#lon  = raw_input('Input lontitude: ')
#lat  = raw_input('Input latitude: ')
lon  = 30.408314
lat  = 59.921566
time = []
# Меняем в цикле время от 0 до 420 минут с шагом 15 минут, начиная с 2014-11-07 11:00 UTC
for minute in range(0,15,15):
    # Записываем в список рассчитанное время
    time.append( datetime.datetime(2014, 11, 07, 11, 00) + datetime.timedelta(minutes=minute) )
    print time[-1]
    # Загружаем данные 9 и 10 каналов прибора SEVIRI для всего видимого диска планеты
    seviri = GeostationaryFactory.create_scene("meteosat", "10", "seviri", time[-1])
    globe = get_area_def("met09globeFull")
    seviri.load([10.8, 12.0], area_extent=globe.area_extent)
    # Определяем координаты пикселя
    lons, lats = seviri[10.8].area.get_lonlats()
    x, y = getXY(lon, lat, lons, lats)
    print x, y

В самом начале задаю переменные lon и lat и всё работает как надо.
Если же
 #lon  = raw_input('Input lontitude: ')
#lat  = raw_input('Input latitude: ')

То терминал пишет:
 tenebras@pcten:~/dip/itog$ python time02.py
Input lontitude: 30.408314
Input latitude: 59.921566
2014-11-07 11:00:00
	Traceback (most recent call last):
  File "time02.py", line 70, in <module>
    x, y = getXY(lon, lat, lons, lats)
  File "time02.py", line 45, in getXY
    return x, y
UnboundLocalError: local variable 'x' referenced before assignment


Что я не так делаю???
Romissevd
raw_input возвращает строку, а Вам необходимо число с плавающей точкой
 lon  = float(raw_input('Input lontitude: '))
lat  = float(raw_input('Input latitude: '))
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB