@python_beginnersЭта группа больше не существует

Страница 1693 из 1885
Alexander
26.04.2017
16:48:35
идея такова - функция которая создает массив, добавляет пару элементов, и возвращает все это в переменную

Yahweh
26.04.2017
16:48:37
написано же. Out of range. Вызвал список с индеком выше индекса фактического

Alexander
26.04.2017
16:49:13
я понял проблему

я не пойму как ее решить

Google
Yahweh
26.04.2017
16:51:18
lst[0] = 0 - так делать нельзя

Alexander
26.04.2017
16:51:25
решил

Yahweh
26.04.2017
16:51:31
если у тебя l = []

Alexander
26.04.2017
16:51:36
def make_null(): lst = [2, 2] return lst

Sergey
26.04.2017
16:53:32
ты не можешь присвоить элементу которого нет

Alexander
26.04.2017
16:54:19
да я понял что делаю неправльно, хотел узнать как правильно, но pycharm умнее меня и помог)

Yahweh
26.04.2017
16:55:08
А как pycharm это делает? Не юзаю, не в курсах

Sergey
26.04.2017
16:59:15
А как pycharm это делает? Не юзаю, не в курсах
там скорее всего синтаксис подсветит. ну и подсказки всякие есть

Max
26.04.2017
17:00:22
Подскажите как в Ajax csrf_token передавать?

Zart
26.04.2017
17:19:37
list - это не массив, если чо

if cond: return True else: return False 4 бесполезных строки вместо банального return condition

is_empty - когда два элемента равны друг другу? что за логика аще?

Google
Zart
26.04.2017
17:21:46
идея такова - функция которая создает массив, добавляет пару элементов, и возвращает все это в переменную
дурацкая идея совершенно, потому что делается в пару операций без всяких функций

Alexander
26.04.2017
17:22:58
дурацкая идея совершенно, потому что делается в пару операций без всяких функций
идея отличная совершенно т.к. это реализцаия очереди без использования встроенных плюшек

задача для универа

Zart
26.04.2017
17:23:26
ну ок. сделал коряво совсем

Yahweh
26.04.2017
17:23:31
задача для универа
Если для универа, тогда ладно.

Gabb
26.04.2017
17:23:34
Помню в прошлом году

Маришка пообещала код

Но его нет

Alexander
26.04.2017
17:24:32
ну ок. сделал коряво совсем
напиши лучше, создание пустой очереди, где в самом массиве первые два элемента это границы

Magma
26.04.2017
17:24:34
Срочна нужна помощь

@bot.message_handler(commands=['prom']) def cmd_promredis(m): if m.from_user.id in config['admins']: ids = m.text.split()[1] r.sadd('admins',int(ids)) bot.send_message(int(ids), '<code>Вы были назначены на администратора бота :(</code>',parse_mode='HTML') bot.send_message(m.chat.id, 'Назначен на одмина')

СПАСАЙТЕ МОЙ ГОВНО КОД

Yahweh
26.04.2017
17:24:55
Маришка пообещала код
А я видел какой-то с ботом и куча функций

Magma
26.04.2017
17:24:58
РУГАЕТСЯ НА IDS

Zart
26.04.2017
17:25:00
"границы" - сентинел значения? зачем?

Magma
26.04.2017
17:25:14
ids = m.text.split()[1] IndexError: list index out of range

Gabb
26.04.2017
17:25:26
У нее?

Yahweh
26.04.2017
17:25:28
У кого?
У Маришки

Gabb
26.04.2017
17:25:30
Так это видимо ее

Google
Zart
26.04.2017
17:25:34
была б маришка она, цены б ей не было...

Alexander
26.04.2017
17:26:02
"границы" - сентинел значения? зачем?
как их тогда такскать с собой постоянно в одной структуре данных по твоему, в паскале это через записи делается, а тут вот так приходится

Magma
26.04.2017
17:26:07
А что маришка это он ?

Yahweh
26.04.2017
17:26:09
Gabb
26.04.2017
17:26:28
Все мы в душе немного Маришка он

Zart
26.04.2017
17:26:55
Yahweh
26.04.2017
17:27:11
массив
array.array

Zart
26.04.2017
17:27:11
массив
в питоне массивы немного не то, что ты думаешь

Alexander
26.04.2017
17:27:29
в питоне массивы немного не то, что ты думаешь
я в курсе, но квадратные скобки прокатывают))

Zart
26.04.2017
17:27:43
квадратные скобки - это не обязательно массивы

Alexander
26.04.2017
17:28:10
ну т.е. как на паскале, там есть структура данных в которой содержатся две переменные для границ и массив

и нужно подобную структуру сделать в пайтоне

Zart
26.04.2017
17:28:22
связными списками можно сделать по аналогии с паскалем, но работать с таким не шибко удобно

ну т.е. как на паскале, там есть структура данных в которой содержатся две переменные для границ и массив
эм... не улавливаю мысль. накидай примерный код инициализации на паскале?

Alexander
26.04.2017
17:29:22
а я сделал удобно и просто, хоть и немного неправильно, первые два элемента отвечают за границы а остальные для очереди самой

Zart
26.04.2017
17:29:43
так других элементов там и нет

о каких границах речь я пока тоже не понял

Google
Yahweh
26.04.2017
17:30:55
Типа list(range(10)), не? Как в статических языках выделяешь память для массива

Игорь
26.04.2017
17:31:07
А что маришка это он ?
студентка, почти комсомолка

Zart
26.04.2017
17:31:10
если мы сейчас про реализацию FIFO очереди, то на питоне её можно запилить слайсами, хоть это и неэффективно с алгоритмической сложности

Alexander
26.04.2017
17:31:49
да, про fifo очередь

но без использования встроенных функций

Юра
26.04.2017
17:38:07
Ребят, кто юзал django quiz?

Alexander
26.04.2017
17:44:13
и удалять первые

Alexander
26.04.2017
17:46:21
точнее не встречался с этим и не представяю что это

Sergey
26.04.2017
17:46:55
Ниче не понял, чем append плох

Yahweh
26.04.2017
17:47:39
А list это нормально ваще. Это же класс. Как ты будешь использовать встроенный класс? :)

Alexander
26.04.2017
17:48:05
Ниче не понял, чем append плох
задача из универа, все ручками)

Zart
26.04.2017
17:48:08
в общем насколько я понимаю, он хочет запилить список из N+2 элементов где первые два элемента - это индексы хвоста и головы очереди тогда алгоритм добавления будет примерно lst[1] += 1 lst[lst[1]] = newvalue

Yahweh
26.04.2017
17:48:14
Пиши реализацию на Си, потом подтягивай в питон

Alexander
26.04.2017
17:48:14
ну в данном случае

Zart
26.04.2017
17:48:43
т.е. использовать список просто в роли куска памяти

Alexander
26.04.2017
17:48:46
Пиши реализацию на Си, потом подтягивай в питон
я на паскале проще напишу через циклический массив

Zart
26.04.2017
17:49:05
угу... ринг буфер по факту

Google
Sergey
26.04.2017
17:49:16
Бред давать задачу с границами в питоновском листе Ладно Си чтобы не выйти за границы а здесь ?

Zart
26.04.2017
17:49:42
вопрос. что мешает указатели вынести в отдельные две переменные?

Alexander
26.04.2017
17:50:37
вопрос. что мешает указатели вынести в отдельные две переменные?
тогда пропает смысл, ведь обращаясь к одной структуре мы получаем все что нам нужно

Zart
26.04.2017
17:51:51
fifo = [0, 0, [None] * 100] # создаем буфер в 100 элементов, и начало/конец ссылаются на 0й индекс def append(fifo, value): head, tail, buffer = fifo tail = (tail + 1) % len(buffer) buffer[tail] = value return [head, tail, buffer]

вместо списка можно и класс создать class FIFO: def __init__(self, size=100): self.head = 0 self.tail = 0 self.buffer = [None] * size def is_empty(self): return self.head == self.tail def append(self, value): self.tail = (self.tail + 1) % len(self.buffer) self.buffer[self.tail] = value

и т.д.

в питоне есть готовая очередь в queue.Queue, правда у неё есть нюанс

вместо рингбуфера можно и связными списками запилить

Alexander
26.04.2017
17:57:51
классы это пока для меня слишком

я в них ничего не понимаю

Zart
26.04.2017
17:58:11
охуительно

а рекорды паскаля?

Alexander
26.04.2017
17:58:29
а это понятно

Zart
26.04.2017
17:58:48
ну добавь к рекордам процедуры и функции, и получишь класс

т.е. type TFoo = record bar: Integer; baz: WideString; end; TClass = class bar: Integer; baz: WideString; procedure DoSomething; end; procedure TClass.DoSomething; begin self.bar := 0; end;

я упростил чуть-чуть, там еще видимость указывать надо, но смысл такой

ну и конкретно у дельфей с выделением памяти отдельная история

Расписная Черепашка
26.04.2017
18:03:14
Привет! В связи с недавними событиями в чате http://telegra.ph/import-drama-04-19 данный диалог остался без администраторов, в следствии этого советуем перейти в новый аналогичный диалог - @ru_python_beginners

Alexander
26.04.2017
18:06:42
т.е. type TFoo = record bar: Integer; baz: WideString; end; TClass = class bar: Integer; baz: WideString; procedure DoSomething; end; procedure TClass.DoSomething; begin self.bar := 0; end;
т.е. класс это не тупо набор фукнций, а может иметь что то еще в себе, я тут понял как перевести то говно что у меня в класс, т.е. границы можно объявить как переменные в классе, все функции будут иметь к ним доступ и их можно будет выкинуть из листа

так?

Страница 1693 из 1885

Эта группа больше не существует Эта группа больше не существует