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

Страница 1376 из 1885
Doomsday
11.03.2017
14:53:26
Подскажите пожалуйста, почему у меня тут бесконечный цикл? while sequence_lenght != key_counter: if shuffled_sequence not in variations.values(): shuffle(shuffled_sequence) key_counter += 1 variations[key_counter] = shuffled_sequence

Pavel
11.03.2017
14:55:57
а что происходит, когда shuffled_sequence находится в variations.values()? Когда if не срабатывает?

Doomsday
11.03.2017
14:56:45
ничего

Pavel
11.03.2017
14:57:02
Вот и ответ на вопрос по цикл.

Google
Doomsday
11.03.2017
14:57:02
Второе условие обязательно?

А если у меня там и не должно ничего рпоисходить?

Pavel
11.03.2017
14:57:45
мы зашли в цикл. Ничего не сделали. СНова зашли в цикл, ничего не сделали. И опять зашли в цикл и ничего не сделали.

А надо бы хотя бы счётчк подвинуть.

счётчик key_counter который

Doomsday
11.03.2017
14:59:39
а то, что я его в блоке if двигаю не считается?

если в цикле дописать print(key_counter) он не увеличивается, а я чот не догоню никак почему

Pavel
11.03.2017
15:00:40
нет, не считается если if не сработает.

Doomsday
11.03.2017
15:01:00
блин

спасибо, буду думать

Pavel
11.03.2017
15:01:25
спасибо, буду думать
давай, удачи, заходи если что.

Doomsday
11.03.2017
15:28:38
while key_counter != sequence_lenght: if shuffled_sequence in variations.values(): shuffle(shuffled_sequence) else: key_counter += 1 variations[key_counter] = shuffled_sequence

не догоню ка мне сделать чтоб key_counter видился в цикле

Google
Doomsday
11.03.2017
15:30:27
он-то по идее должен прирастать

Alex
11.03.2017
15:32:35
он-то по идее должен прирастать
а где он у тебя объявлен первый раз?

Doomsday
11.03.2017
15:33:13
до цикла

вот полный код этой ересиЖ

from math import factorial from random import shuffle print("Enter sequence") raw_sequence = input(":>>>") initial_sequence = list(raw_sequence) shuffled_sequence = list(raw_sequence) sequence_lenght = len(initial_sequence) variations = factorial(sequence_lenght) variations = {} key_counter = 1 shuffle(shuffled_sequence) variations[key_counter] = shuffled_sequence while key_counter != sequence_lenght: if shuffled_sequence in variations.values(): shuffle(shuffled_sequence) else: key_counter += 1 variations[key_counter] = shuffled_sequence

от я мудак

забудьте покамест)

хотя, хоть я и напорол с именами переменных, проблема собсна таже

я чего-то упорно не понимаю =(

vlade11115
11.03.2017
15:39:16
Ты нам скажи что ты пытаешься сделать.

Doomsday
11.03.2017
15:40:40
собрать в словарь все возможные перестановки из введенных символов

Проблема в этом месте: while key_counter != variations: if shuffled_sequence in results.values(): shuffle(shuffled_sequence) else: key_counter += 1 results[key_counter] = shuffled_sequence

key_counter по-идее должен прирастать, но цикл этого не видит

возможно потому-что это происходить в блоке if-else?

я понимаю, что задаю мудацкие вопросы, сорян=)

vlade11115
11.03.2017
15:50:18
Doomsday
11.03.2017
15:51:56
воод 12 вывод `{1:['1', '2'], 2:['2', '1']}

это можно сделать через itertools.combinations , я знаю

vlade11115
11.03.2017
15:54:31
Только хотел посоветовать.

Doomsday
11.03.2017
15:55:04
по приколу склеить свой костыль

Google
Doomsday
11.03.2017
15:55:49
но вопрос не в этом, а почему, сука, цикл не видит приращение в блоке if...else

в них разве изолированные переменные?

vlade11115
11.03.2017
15:56:40
но вопрос не в этом, а почему, сука, цикл не видит приращение в блоке if...else
Потому что до цикла ты в словарь добавляешь shuffled_sequence, потому первый if срабатывает всегда, и счётчик не прирастает.

Doomsday
11.03.2017
16:05:26
если его убрать, счетчик +1 делает и все равно залипает

чота я не того походу натулил в алгоритме

Евгений
11.03.2017
16:06:28
Уважаемые гайсы, кто может помочь с Virtual Audio Cable? Есть 2 аудиокарты, задача - пустить 1 канал на одну, 2 на другую (голос из фильма на 1, шум на 2ой). Раз через раз выходит. Не могу понять в чем ошибка. Кто сталкивался и может помочь разобраться? Кстати, вопрос про видеокарту всё ещё актуален, в данный момент склонился в сторону 480 за 14к она на 8гб озу.

vlade11115
11.03.2017
16:06:59
чота я не того походу натулил в алгоритме
Перечитай моё сообщение выше.

Doomsday
11.03.2017
16:09:06
Перечитай моё сообщение выше.
я убрал это добавление

как я понимаю оно должно выполняться: проверил на вхождение -> если входит перемешал -> проверил на вхождение -> если не входит увеличил счетчик и добавил в словарь -> и так пока счетчик не примет значение, которое остановит цикл. Что я не так понимаю?

vlade11115
11.03.2017
16:30:47
как я понимаю оно должно выполняться: проверил на вхождение -> если входит перемешал -> проверил на вхождение -> если не входит увеличил счетчик и добавил в словарь -> и так пока счетчик не примет значение, которое остановит цикл. Что я не так понимаю?
Поздравляю, ты наткнулся на очень забавную штуку. Когда перед циклом ты добавляешь список в словарь, то туда на самом деле передается именно этот список, а не его копия. Потому когда ты в цикле перемешиваешь shuffled_sequence, на самом деле ты и этот список в словаре перемешиваешь, потому на новой итерации проверка снова будет истинна, и цикл никогда не завершится. Для исправления нужно написать так from math import factorial from random import shuffle print("Enter sequence") raw_sequence = input(":>>>") initial_sequence = list(raw_sequence) shuffled_sequence = list(raw_sequence) sequence_lenght = len(initial_sequence) variations = factorial(sequence_lenght) variations = {} key_counter = 1 shuffle(shuffled_sequence) variations[key_counter] = shuffled_sequence.copy() while key_counter != sequence_lenght: if shuffled_sequence in variations.values(): shuffle(shuffled_sequence) else: key_counter += 1 variations[key_counter] = shuffled_sequence.copy()from math import factorial from random import shuffle print("Enter sequence") raw_sequence = input(":>>>") initial_sequence = list(raw_sequence) shuffled_sequence = list(raw_sequence) sequence_lenght = len(initial_sequence) variations = factorial(sequence_lenght) variations = {} key_counter = 1 shuffle(shuffled_sequence) variations[key_counter] = shuffled_sequence.copy() while key_counter != sequence_lenght: if shuffled_sequence in variations.values(): shuffle(shuffled_sequence) else: key_counter += 1 variations[key_counter] = shuffled_sequence.copy()

Ahmed
11.03.2017
16:32:49
Ребята, как атрибуты класса вызывать в методе? class Person: name = '' age = 0 def get(self):

Sergey
11.03.2017
16:33:26
self.name ?

и вызывают обычно функции, а не атрибуты

Ahmed
11.03.2017
16:35:00
self.name ?
но при вызове функции надо передавать аргументы, а мне просто надо вывести значение в атрибутах

Sergey
11.03.2017
16:35:36
для твоего класса только так Person.name

тебе надо метод __init__ создать и там инициализировать self.name и self.age

Doomsday
11.03.2017
16:36:15
Поздравляю, ты наткнулся на очень забавную штуку. Когда перед циклом ты добавляешь список в словарь, то туда на самом деле передается именно этот список, а не его копия. Потому когда ты в цикле перемешиваешь shuffled_sequence, на самом деле ты и этот список в словаре перемешиваешь, потому на новой итерации проверка снова будет истинна, и цикл никогда не завершится. Для исправления нужно написать так from math import factorial from random import shuffle print("Enter sequence") raw_sequence = input(":>>>") initial_sequence = list(raw_sequence) shuffled_sequence = list(raw_sequence) sequence_lenght = len(initial_sequence) variations = factorial(sequence_lenght) variations = {} key_counter = 1 shuffle(shuffled_sequence) variations[key_counter] = shuffled_sequence.copy() while key_counter != sequence_lenght: if shuffled_sequence in variations.values(): shuffle(shuffled_sequence) else: key_counter += 1 variations[key_counter] = shuffled_sequence.copy()from math import factorial from random import shuffle print("Enter sequence") raw_sequence = input(":>>>") initial_sequence = list(raw_sequence) shuffled_sequence = list(raw_sequence) sequence_lenght = len(initial_sequence) variations = factorial(sequence_lenght) variations = {} key_counter = 1 shuffle(shuffled_sequence) variations[key_counter] = shuffled_sequence.copy() while key_counter != sequence_lenght: if shuffled_sequence in variations.values(): shuffle(shuffled_sequence) else: key_counter += 1 variations[key_counter] = shuffled_sequence.copy()
Спасибо, попробую)

Sergey
11.03.2017
16:36:18
и в методах класса обращаться через self

Google
Ahmed
11.03.2017
16:38:52
def __init__(self, name, hunger, boredom): self.name = name self.hunger = hunger self.boredom = boredom def get_characteristics(self, hunger, boredom): self.hunger = hunger self.boredom = boredom print("Голод = ", hunger, "Настроение = ", boredom) Создается объект, и объект выбирает функцию get_characteristics которая выводит состояние объекта то есть "Голод и настроение". Но метод get_characteristics не срабатывает, потому что просить передать параметры ему

TypeError: get_characteristics() missing 2 required positional arguments: 'hunger' and 'boredom'

Sergey
11.03.2017
16:39:28
def get_characteristics(self, hunger, boredom): достаточно только self

Ahmed
11.03.2017
16:42:54
Vadim
11.03.2017
17:13:08
def foo(): r = requests.get(url) return r.json() Вот это в анонимную функцию можно переписать?

b0g3r
11.03.2017
17:14:01
звучит как фласк

а зачем?

Vadim
11.03.2017
17:14:19
Нет, не фласк

b0g3r
11.03.2017
17:14:22
а, вижу

Admin
ERROR: S client not available

Vadim
11.03.2017
17:14:27
Детский интерес

b0g3r
11.03.2017
17:14:57
lambda url: return requests.get(url).json()

Nardis
11.03.2017
17:14:59
а ваще странно, у меня убунта 14.04, uwsgi стоит и логи сами пишутся в /var/log/uwsgi, вроде я ниче не делал
по-дефолту uwsgi не пишет логи (только в stdout/sterr, если запускать не в бекграунде с терминала, для логирования надо uwsgi запускать с ключем вроде ./uwsgi -s :3031 -w simple_app --uid 1001 --gid 1002 --logto2 /tmp/mylog.log

b0g3r
11.03.2017
17:15:07
только урл в глобальной видимости это что и зачем

Vadim
11.03.2017
17:16:03
lambda url: return requests.get(url).json()
Подчёркивает return и орёт "Синтаксическая ошибка"

b0g3r
11.03.2017
17:18:57
ну убери :)

мой внутренний интерпретатор не подчеркнул

Vadim
11.03.2017
17:20:41
Странный он какой-то ?

Google
b0g3r
11.03.2017
17:21:13
есть ещё баги, правлю

Vadim
11.03.2017
17:21:37
Кто работал с OpenWeatherMap, замечали, что если написать какую-то хрень, он показывает города..

53r63rn4r
11.03.2017
17:28:38
Да

Solyar
11.03.2017
17:30:20
Тоже чтоле опенвезер поковырять

Своевременно закончил adventofcode

:D

Max
11.03.2017
19:13:33
Немношк странный вопрос. Вот есть MVC и MVT насколько между собой отличаются MV в рамках этих моделей?

я вкуриваю концепт в джанге, параллельно вижу что в других языках есть MVC. И у меня получается нестыковка в определениях. MVT: Models are classes where you define your data structures. Views - functions how we take a data from DB and sending it into templates MVC: Model is an object with some logic. View represents the visualisation of the data from models.

получается как-то так пока

Denis
11.03.2017
19:15:13
Модели и там и там одинаковые, а view разную задачу выполняют. Скорее view это контроллер, а template это view

Max
11.03.2017
19:15:28
понял

просто в одном случае смущает с моделями что это класс где ты все описываешь, а в другом - вроде как сущность, которую ты можешь в бд поместить

Ivan
11.03.2017
19:23:50
Тоже когда в джангу погружался, непривычно было

Max
11.03.2017
19:26:33
Да бесит что одни и те же вещи в схожих (по идее концептах) называются одинаково, а значат разные

Denis
11.03.2017
19:27:40
Потому что MVC придумывали хипстеры, а MVT нормальные люди

Роман
11.03.2017
19:28:27
а разве не наоборот?)

Max
11.03.2017
19:29:39
да кто бы не придумывал - зачем было названия тырить (

сделать бы mvc и mdt условно

Maksim
11.03.2017
19:42:53


Говорит еще что у TeleBot нету метода polling()

Бред же

В чем проблема может быть?

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

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