
Gabb
15.04.2017
15:26:26
у меня есть такой говнокод:
def check_answer(message):
if message.text == 'Да' and state['message.from_user.id'][0]:
state['message.from_user.id'][0] = False
hide_markup = telebot.types.ReplyKeyboardRemove()
user_answer = 'Начинаем'
bot.send_message(message.chat.id, user_answer, reply_markup=hide_markup)
log.log_message(message,user_answer)
core.gamedif(message)
в core.gamedif:
def gamedif(message):
user_answer = 'Выбери уровень сложности:'
user_markup = telebot.types.ReplyKeyboardMarkup(True)
user_markup.row('Легкий', 'Нормальный')
user_markup.row('Посложнее', 'Сложный', 'Высокий')
bot.state['message.from_user.id'][1] = True
botip.send_message(message.chat.id, user_answer, reply_markup=user_markup)

Solyar
15.04.2017
15:26:57
ну и?

Gabb
15.04.2017
15:27:25
потом в bot идет проверка этого уровня:
elif message.text == 'Легкий' and state['message.from_user.id'][1]:
dif['message.from_user.id'] = 1
bot.send_message(message.chat.id,'Уровень сложности 1')

Google

Gabb
15.04.2017
15:27:31
но вот в чем проблема
в core.py в словарь выставлено значение True
но в bot при проверке уровня сложности по условию не проходит
то есть
elif message.text == 'Легкий' and state['message.from_user.id'][1]
не работает

Solyar
15.04.2017
15:28:54
Во всех трех файлах?

Gabb
15.04.2017
15:29:15
тут 2 файла
вот словарь
state = {'message.from_user.id': [False, False]}

Маришка
15.04.2017
15:31:14
это bot.py
В bot.py перед вызовом gamediff в словаре state [1] элемент сделай true тогда
Если уж на то пошло

Gabb
15.04.2017
15:31:47
почему так пошло

Маришка
15.04.2017
15:31:56
Ты тупо не можешь пройтись по коду и посмотреть какие данные на данном этапе будут?

Google

Маришка
15.04.2017
15:32:02
Ну блин
Ты тупо делаешь
Очень

Gabb
15.04.2017
15:32:15
да

Маришка
15.04.2017
15:32:46
Напиши мне в ЛС идею, я тебе дам код небольшой по ней, когда доеду

Solyar
15.04.2017
15:33:34
Как-то ты все очень сложно делаешь
можно прикрутить сюда sqllite
( на самом деле нет )

Маришка
15.04.2017
15:38:03

Solyar
15.04.2017
15:38:41

Sergey
15.04.2017
15:47:32
Ajax все делает лучше
И без него никуда
забыл, у ajax тоже есть фатальный недостаток
но не будем о нём

Андрей
15.04.2017
16:15:00
а кто-нибудь работал с rq? инициализация воркера у меня занимает приличное время, в доках для такого есть раздел Performance notes, но я не понимаю, можно ли получить в воркере все то, что я наопределял в "своем" воркере?

Проксимов
15.04.2017
16:53:14

Маришка
15.04.2017
17:38:10
Хех, Южный парк

Nardis
15.04.2017
19:40:15
Привет, объясняйте тупому — не могу разобраться. Есть граф, нужно найти все связи каждойй вершины, но не глубже двух. Граф простой, не взвешенный и без циклов. Есть даже решение в виде псевдокода, но см. первое предложение.

Google

Nardis
15.04.2017
19:41:14
Я умею небольшой граф представить в виде adjacency matrix. Но я не понимаю, как в этом псевдокоде понимать инпут G? ЧТо это вообще, в каком виде оно должно быть? У меня есть только:
adjacency_matrix = [
[0, 0, 0, 1, 0, 0, 0],
[0, 0, 0, 1, 0, 0, 0],
[0, 0, 0, 1, 0, 0, 0],
[1, 1, 1, 0, 0, 1, 0],
[0, 0, 0, 0, 0, 0, 1],
[0, 0, 0, 1, 0, 0, 1],
[0, 0, 0, 0, 1, 1, 0]]

Маришка
15.04.2017
19:42:15
G - сам граф
Записывай его как хочешь

Nardis
15.04.2017
19:42:33
G - сам граф
Спасибо, это понятно. Непонятно, как это граф выглядит технически?

Маришка
15.04.2017
19:42:43
Записывай его как хочешь

Nardis
15.04.2017
19:43:01
Хочу в виде adjMatrix. Как мне это сделать?

Маришка
15.04.2017
19:43:54
Бери номер вершины и смотри к каким вершинам от нее отходят ребра

Nardis
15.04.2017
19:44:31
Это вообще какой тип данных должен быть? Лист, стринг?

Маришка
15.04.2017
19:45:33
Например в однонаправленном графе
4 -> 1
2 -> 3
1 -> 3
Матрица смежности будет иметь единицы по адресам
adj_matr[4][1]
adj_matr[2][3]
adj_matr[1][3]
Для двунапрамленного графа еще и адреса 1-4 3-2 и 3-1
Записывай как хочешь, обычно для программ их дают парами
Сам граф

Sergey❄️
15.04.2017
19:47:30
@yui_meow еще разок напомни, почему ты предпочитаешь telepot, а не pytelegrambotapi?

Nardis
15.04.2017
19:47:31
Чего именно?)
Инпут G. Можно ли как-то сделать так, чтобы в качестве инпута G у меня принимался лист adj_matrix, который я выше указал в переменной adjacency_matrix? Если да, как я могу это сделать?

Маришка
15.04.2017
19:48:43

Nardis
15.04.2017
19:49:20
По условиям задачи я не могу писать парами, у меня есть отдельный метод, который генерирует рандомно adj-матрицу в виде листа, и я должен ее использовать.

Маришка
15.04.2017
19:50:41

Павел
15.04.2017
19:50:48
Привет. Хочу написать простенькое веб приложение для работы с бд. Flask мне не нравится тем что получаются ужасные веб формы с полями по длине на весь экран, да и само создание их через код flaska не очень мне нравится и как их стилизовать не пойму. может есть какой другой фреймворк? Я бы та визуально хотел бы странички накидать )

Google

Маришка
15.04.2017
19:50:56
Лол
Или сразу с ней работай
Иди по матрице
Как только нашел единицу

Ivan
15.04.2017
19:51:41

Маришка
15.04.2017
19:51:47
То значит между вершинами индексов есть ребро

Nardis
15.04.2017
19:51:50
Иди по матрице
Да, это именно то, что я хочу. Я понимаю, что нужно сделать (работать сразу с матрицей), я не понимаю, как.
бог с ним с генерирующим методом, мне бы хотя бы из переменной своей (где уже есть матрица графа) посчитать решение

Проксимов
15.04.2017
19:52:56

Маришка
15.04.2017
19:53:02
for i in range(len(a)):
for j in range(len(a)):
# дальше сам

Sergey❄️
15.04.2017
19:53:16

Ivan
15.04.2017
19:53:48

Павел
15.04.2017
19:54:27
Это тебе bootstrap
спасибо, посмотрю. Я забыл читал про него, набор стилей как я понимаю
А я один кто с Flask psycopg2 юзаю, смотрю все в интернете пишут с помощью alchemy и сущности бд в объекты переводят
а мне как то slq ближе

Проксимов
15.04.2017
19:54:55

Ivan
15.04.2017
19:55:00

Маришка
15.04.2017
19:56:52

Павел
15.04.2017
19:57:34

Маришка
15.04.2017
19:57:55

Google

Def
15.04.2017
20:01:47

Григорий
15.04.2017
20:01:57

Маришка
15.04.2017
20:02:56

Def
15.04.2017
20:03:27
Привет
Чем занимаешься в этот субботний вечер?

Игорь
15.04.2017
20:03:31

Павел
15.04.2017
20:03:43
А причём тут фласк? Как он на формы влияет?
ну он роутингом страниц занимается и слушает обращения
а через него создавал форму вот таким способом
class AddWarehouse(Form):
name = StringField('Название: ', validators=[DataRequired()])
adress = StringField('Адрес: ', validators=[DataRequired()])
submit = SubmitField('Добавить')
которые потом встраиваются на веб страницу

Григорий
15.04.2017
20:03:53

Ivan
15.04.2017
20:04:04

Проксимов
15.04.2017
20:04:10
А что они используют вместо?
Табличную вёрстку?
%))

Григорий
15.04.2017
20:06:54
А что они используют вместо?
Вот такое нашёл
Используя bootstrap, вы рискуете написать понятный качественный и подерживаемый код.
Минусы в том, что в вашей верстке смогут разобраться другие люди, и вас можно будет заменить.
Поэтому когда хотят привязать проект к себе, то код должен быть настолько плохого качества, чтобы никто не смог в нем разобраться (самодельные велосипеды без использования сторонних компонентов такие на 99.9%), что вы и собираетесь сделать.

Маришка
15.04.2017
20:08:05
Эта группа больше не существует