
Liyoto
26.10.2016
17:44:26
да . само собой))

F
26.10.2016
17:44:58
по памяти хз как в питоне это сделать, но в общем случае тебе надо будет обернуть этот вызов в while (pass not entered_pass)

Liyoto
26.10.2016
17:46:00
сейчас попробую
/login = input('Введите логин: ')
pass1 = input('\nВведите пароль: ')
pass2 = ('qqq' , '111' , 'qwerty111')
while pass1 not pass2:
print('Неверный пароль, повторите попытку')
инвалид ситакс while pass1 not pass2
^

Google

V
26.10.2016
17:54:29
[{**a, **b} for a, b in zip(ld1, ld2) if b is not None] вернет список объединенных словарей
последняя проверка не нужна, если ты уверен, что они не None

Igor
26.10.2016
17:56:04
есть еще zip_longest, как выше напомнил кто-то
а, с анпакингом это ж не поможет. сорри )

F
26.10.2016
18:02:11
чет в шелле походу строку нельзя перенсти
там условие должно быть smth is not smth2

Igor
26.10.2016
18:10:54
я хз че у вас за проблемы возникли
In [1]: from getpass import getpass
In [2]: my_password = 'hello'
In [3]: entered_password = None
In [4]: while entered_password != my_password:
...: entered_password = getpass('Пароль: ')
либо для наглядности:
In [1]: my_password = 'hello'
In [2]: entered_password = None
In [3]: while my_password != entered_password:
...: entered_password = input('Password: ')
...:
Password: privet
Password: govno
Password: hello
In [4]:

Kirill
26.10.2016
18:15:55
посоны, я спарсил что надо с текста, но у меня вместо одного пробела по 2-4 как это устранить? с помощью регулярок*

Igor
26.10.2016
18:15:56
если нужен счетчик попыток и прерывание цикла, то добавляем переменную (attempts = 0), и каждую итерацию цикла прибавляем к ней единичку. а когда она превышает, например, 5, то выходим из цикла и шлем юзера нафиг

Google

Igor
26.10.2016
18:16:34
возможно, r'[ ]{2,}'
\s{2,} не стоит делать, т.к. там могут быть табы и переносы строк

Liyoto
26.10.2016
18:17:58
Благодарю
если нужен счетчик попыток и прерывание цикла, то добавляем переменную (attempts = 0), и каждую итерацию цикла прибавляем к ней единичку. а когда она превышает, например, 5, то выходим из цикла и шлем юзера нафиг

Igor
26.10.2016
18:19:18
{2,} - это 2 и более повторяющихся символа, стоящих перед открывающейся фигурной скобкой

Kirill
26.10.2016
18:20:11
благодарствую

Igor
26.10.2016
18:20:15
если хочешь именно от 2 до 4, то {2,4}

Kirill
26.10.2016
18:20:40
это можно вписать сразу в регулярку? или отдельно надо делать

Igor
26.10.2016
18:20:55
конечно можно, я ж вон показал
re.sub(
r' {2,}', # что заменяем (2 и более пробела)
' ', # на что заменяем (на один пробел)
text # в какой строке заменяем (в text, которая равна "hello world cruel\nworld")
)

Kirill
26.10.2016
18:27:32
я имел ввиду вот что: r"[,;() {2,}\n+\s+-]"," ",text это можно записать чтобы сразу получилось 1 пробел между словами или надо еще раз через регулярку результат этого выражения пропустить?
re.sub(r"[,;() {2,}\n+\s+-]"," ",file1.read())

Igor
26.10.2016
18:29:35
эмм
у тебя там че-то дофига всего понамешано
\s будет совпадать и с пробелом, и с \t, и с \n

Kirill
26.10.2016
18:29:36
как красивые текста сюда сидать? подстажите, господа.
кидать*

Igor
26.10.2016
18:30:04
по одному или по три бэктика (символ `, на букве "ё" в английской раскладке обычно, рядом с тильдой) с каджой стороны текста

F
26.10.2016
18:30:10
я кажись придумал как модели для чата сделать
щащащ

Google

Igor
26.10.2016
18:30:20

F
26.10.2016
18:30:29
сукпздц с работы пришел и вот чем занимаюсь

Kirill
26.10.2016
18:30:47

Igor
26.10.2016
18:30:59
re.sub(r"(группа1|группа2|группа3)"," ", file1.read())
re.sub(r"([,;()\n+\s+-]| {2,})"," ",file1.read())
^^^^^^^^^^^^^|^^^^^)"," ",file1.read())
группа 1 грп.2

Kirill
26.10.2016
18:31:48

F
26.10.2016
18:32:15
class Dialog(models.Model):
first_user = models.OneToOneField('User')
second_user = models.OneToOneField('User')
last_message = models.DateTimeField(null=True, blank=True)
class Message(models.Model):
text = models.TextField()
datetime = models.DateTimeField(auto_now_add=True, db_index=True)
read = models.BooleanField(default=False)
dialog = models.ForeignKey('Dialog')
def update_last_message_datetime(sender, instance, created, **kwargs):
if not created:
return
Dialog.objects.filter(id=instance.dialog.id).update(
last_message=instance.datetime
)
post_save.connect(update_last_message_datetime, sender=Message)
тадаа

Igor
26.10.2016
18:32:22
re.sub(r"([,;()\n+\s+-]| {2,})"," ",file1.read())
^^^^^^^^^^^^^|^^^^^)"," ",file1.read())
группа 1 грп.2

Liyoto
26.10.2016
18:32:28
/ ф
ой

Igor
26.10.2016
18:32:39
ебучий телеграм под макось

F
26.10.2016
18:32:46
вопрос
@iamigor какие поля индексными делать? хочу сделать все))

Liyoto
26.10.2016
18:32:46
как так кидать код ?

Igor
26.10.2016
18:32:54
по одному или по три бэктика (символ `, на букве "ё" в английской раскладке обычно, рядом с тильдой) с каджой стороны текста

F
26.10.2016
18:33:00
на макоси на тильду трижды в начале и в конце
сообщение точно не надо делать индексным
а как лучше? я хочу с экрана, где юзер будет нажимать "отправить сообщение" смотреть, есть ли Диалог, в котором первый юзер = юзер или второй юзер = юзер, и, если нет, то создавать

Liyoto
26.10.2016
18:34:05
a
благодарю

Google

F
26.10.2016
18:34:21
а с экрана непосредственно с чатами будет запрос на сервак за Диалогами, ну и там изи бризи дальше вроде

Igor
26.10.2016
18:34:48

F
26.10.2016
18:34:53
но блин
если я все поля индексными сделаю, то будет не очень

Igor
26.10.2016
18:35:14
я и говорю, не надо текст сообщения индексировать ;)

F
26.10.2016
18:35:14
ааа
ну само собой))
а все остальное если?

Igor
26.10.2016
18:35:37
что - остальное? че там у тебя еще?

F
26.10.2016
18:35:38
юзеров в Диалоге, я же по ним смотреть буду

Admin
ERROR: S client not available

F
26.10.2016
18:35:48

Igor
26.10.2016
18:36:00
а, сорри, я успешно проигнорировал нахуй эту простыню

F
26.10.2016
18:36:36
был кст у вас в Рамблере на iOS #8, пиццы поел, выиграл лицензию на софт))

Igor
26.10.2016
18:36:47
в dialog индексы на first_user и second_user,
в message - на dialog, на datetime, можно на read (чтобы быстро забирать с сервака только непрочтенные)

F
26.10.2016
18:36:49
круто там

Igor
26.10.2016
18:36:59
хочется дать пизды за first_user и second_user
хочется дать пизды за datetime

F
26.10.2016
18:37:08
а как?
я нубас в питоне
мне не нравится тут именовать переменные с подчеркиванием, но так вроде в кодгайдах написано джанговских

Google

F
26.10.2016
18:37:51
так-то я больше по кеймлкейсу

Igor
26.10.2016
18:38:00
да я без претензий, просто манера общаться хуевая у меня :(
обычно принято называть created_at, updated_at, sent_at, вот такое все

F
26.10.2016
18:38:29
да всё ок лол, я вообще про пидоров и анусы шутить люблю
на работе сдерживаюсь как могу

Igor
26.10.2016
18:38:38
и про педофилов!
я в стартап пару лет назад как-то устроился, вот там столько шуток было про чужих мамок, пидоров и фельчинг
о чем это я.
я бы все-таки назвал юзеров не first и second, а sender (отправитель) и recipient (получатель)
звучит и выглядит более логично и понятно
можно задействовать слова "from" и "to", как вариант
(ну, типа, user_from и user_to)

F
26.10.2016
18:40:44
я не хотел дискриминировать юзеров в нейминге по очередности

Liyoto
26.10.2016
18:41:24
`
passwords = ('11' , 'qqq' , 'qwerty')
login = input('\nВведите логин: ')
pass1 = input('\nВведите пароль: ')
while pass1 not in passwords:
print('\nНеврный пароль для учетной записи')
input('Повторите пароль: ')
else:
print('HELLO World')
`
блен
кароче проблема такая , что первый раз я ввожу неправильно , а второй раз правильно , то все равно не пишет hello world
в чем ошиюка ?
ошибка*

Zart
26.10.2016
18:42:26
"изначально написан в переменной pass"
как?!

V
26.10.2016
18:42:38
ебучий телеграм под макось
i can feel your pain! я иногда даже тупо на компе набиваю драфт, а отправляю с телефона чтоб точно не похерились бектики. сука бесит!

F
26.10.2016
18:42:41
ну цеж песочница

Liyoto
26.10.2016
18:42:55

F
26.10.2016
18:43:03
у меня все норм в телеге
мб редко бектики юзаю)

Igor
26.10.2016
18:43:19
?
In [3]: pass = 'asdkalsjq38'
File "<ipython-input-3-153a8c96b40a>", line 1
pass = 'asdkalsjq38'
^
SyntaxError: invalid syntax
Эта группа больше не существует