Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.03.2014, 06:06   #1
goshek
Пользователь
 
Регистрация: 07.01.2014
Сообщений: 33
По умолчанию функция- pure function

Стоит задача. Написать функцию, которая возвращает аргумент(список-list) без первых двух айтемов. При этом функция не должна менять сам аргумент. Мой вариант

Код:
testlist = [0,1,2,3,4,5,6,7]
def puredel(testlist):
    new_list=[]
    new_elem = del testlist[0:2]
    new_list.append(new_elem)
    return new_list
На что выдается ошибка invalid syntax и выделяется del. Не могу понять,что тут не так?
Язык питон

Последний раз редактировалось goshek; 14.03.2014 в 06:19.
goshek вне форума Ответить с цитированием
Старый 14.03.2014, 07:29   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,694
По умолчанию

Цитата:
На что выдается ошибка invalid syntax и выделяется del. Не могу понять,что тут не так?
Вам же написали, что неверный синтаксис. Что за дел то тут появился? Откройте доку и прочитайте раздел работа со списками.
p51x на форуме Ответить с цитированием
Старый 14.03.2014, 08:06   #3
goshek
Пользователь
 
Регистрация: 07.01.2014
Сообщений: 33
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Вам же написали, что неверный синтаксис. Что за дел то тут появился? Откройте доку и прочитайте раздел работа со списками.
Исправил на
Код:
testlist = [0,1,2,3,4,5,6,7]
def puredel(testlist):
    new_list=[]
    new_elem = testlist[2:]
    new_list.append(new_elem)
    return new_list
но теперь результат [[2, 3, 4, 5, 6, 7]] выглядит так и двойные [] меня как то смущают. Я не прошу решить за меня, я прошу дать наводку. Я прекрасно понимаю, что готовое решение не дает мне опыта и понимания процесса.

Последний раз редактировалось goshek; 14.03.2014 в 08:11.
goshek вне форума Ответить с цитированием
Старый 14.03.2014, 08:47   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Не знаю питона. Так нельзя?
Код:
def puredel(testlist):
    return testlist[2:]
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 14.03.2014, 09:16   #5
goshek
Пользователь
 
Регистрация: 07.01.2014
Сообщений: 33
По умолчанию

Можно, но суть в том, что по задания мне нельзя изменять аргумент, то есть после применения функции и команды print(testlist) мне должно вывести первоначальный список
goshek вне форума Ответить с цитированием
Старый 14.03.2014, 09:18   #6
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Код:
testlist = [0,1,2,3,4,5,6,7]
def puredel(testlist):
	 return testlist[2:]
 
print testlist
print puredel(testlist)
print testlist
Цитата:
[0, 1, 2, 3, 4, 5, 6, 7]
[2, 3, 4, 5, 6, 7]
[0, 1, 2, 3, 4, 5, 6, 7]
http://ideone.com/3l81Vd
Так в чем проблема?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 14.03.2014, 10:11   #7
goshek
Пользователь
 
Регистрация: 07.01.2014
Сообщений: 33
По умолчанию

Что-то совсем затупил, спасибо большое.
goshek вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
pure MVC SL1M_DOGG JavaScript, Ajax 2 04.07.2013 23:32
Файлы Pure C b2soft Помощь студентам 0 04.06.2013 11:24
pure C (ANSI C, если хотите) выход из цикла в два разных места guz Общие вопросы C/C++ 8 29.01.2012 14:52