2014-09-01 6 views
0

Я действительно новичок в python, так что это, наверное, действительно глупая проблема, но я честно не знаю, что я делаю, и я потратил часы, пытаясь заставить это работать. Мне нужно, чтобы пользователь вводил дату (в виде строки), а затем использовал эту дату для возврата некоторых данных (функция get_data_for_date уже была создана и работает нормально, мне просто нужно вызвать ее вручную в консоли и ввести дата его работы в настоящее время). Затем данные необходимо разбить, когда они будут возвращены. Любая помощь была бы оценена, или даже если бы вы могли просто указать мне в правильном направлении.Новичок Python, разделяющий данные

dateStr = raw_input('Date? ') 

def load_data(dateStr): 

    def get_data_for_date(dateStr): 
     text = data 

     return data.split('\n') 
+0

Я не могу следить за тем, что вы пытаетесь сделать. Можете ли вы дать нам пример того, что такое дата и что должно произойти при запуске вашей программы? –

+0

Пользователь вводит дату в формате DD-MM-YYYY (например, 01-02-2013) Затем я хочу вызвать функцию get_data_for_date и использовать введенную пользователем дату, чтобы получить набор данных, соответствующий эта дата. Затем я хочу вернуть эти данные пользователю – Shifty285

ответ

0

Вы можете избавиться от внешней функции load_data(), как это не делает ничего (в коде, который вы публикуемую). Затем вам необходимо вызвать функцию get_data_for_date(), переданную ей dateStr, введенную пользователем. Это вызов функции get_data_for_date(dateStr), как показано здесь:

def get_data_for_date(dateStr): 
    text = data 
    return data.split('\n') 

dateStr = raw_input('Date? ') 
data = get_data_for_date(dateStr) 
print data 

Существует очевидная проблема в вашей get_data_for_date() функции: data никогда не назначается, и text никогда не используется, так что здесь иллюстративный вариант его:

def get_data_for_date(dateStr): 
    data = "1. Line 1\n2. Line 2\n3. Line 3" 
    return data.split('\n') 

dateStr = raw_input('Date? ') 
data = get_data_for_date(dateStr) 

>>> print data 
['1. Line 1', '2. Line 2', '3. Line 3'] 
0

Похоже, есть некоторые ненужные строки в коде, но в конце концов, этот код будет возвращать вам список дат, если дали дату в виде строки, как это, «Дата 1 \ nDate 2 \ nDate 3 ".

Примечание: Дата 1, Дата 2, и дата 3 фактических значений даты

Выход: [Дата1, Дата2, Date3]

Или вы, возможно, пытаетесь удалить символ новой строки в конце даты ввода так для этого вы можете использовать функцию полосы или просто вернуть dateStr.split («\ п») [0]

0

Ммм, на самом деле не совсем понял код, но если вам нужно разделить входные данные пользователя попробовать этот кусок кода:

dateStr = raw_input('Date? ').split('char') 

где символ является символом или строка, которую вы хотите разделить ваш вклад на

Смежные вопросы