Форум сайта python.su
0
Доброго времени суток! Вопрос в следующем:
Есть данный код.
def EratosfenGrating(): n = 10 Prime = set() def PrimeNumber(Prime): Grating = {i for i in range(2, n)} Min = 2 while (Grating != set()): while not (Min in Grating): Min += 1 Prime.add(Min) for i in range(1, n // Min): Grating -= {i * Min} break;
... while not (Min in Grating): Min += 1 Prime.add(Min) print Min, Prime ...
while (Grating != set()): print Min, Prime while not (Min in Grating): ...
Отредактировано ahpex (Апрель 7, 2013 14:20:28)
Офлайн
25
Grating != set()
Отредактировано s0rg (Апрель 7, 2013 18:31:22)
Офлайн
0
кажется это была попытка проверки на наличие элементов в множестве. но вопрос в другом.
знаю, что можно, но нужно конкретно так
Офлайн
25
ahpexЭто больше похоже на проверку является ли множество пустым, но намек в другом - код ужасен.
кажется это была попытка проверки на наличие элементов в множестве
Офлайн
0
да, ужасен, но хотелось бы получить ответ на вопрос вместо критики..
Офлайн
568
ahpex, вложенная функция, та которая PrimeNumber нигде ни разу не вызывается, то есть этот кусок кода в принципе не работает вообще и если Вы туда вставите print, на консоль не выйдет вообще ничего.
Попробуйте сами дабы убедиться
def EratosfenGrating(): n = 10 Prime = set() def PrimeNumber(Prime): #!!!!!!!! print "This function is now starting" #!!!!!!!! Grating = {i for i in range(2, n)} Min = 2 while (Grating != set()): while not (Min in Grating): Min += 1 Prime.add(Min) for i in range(1, n // Min): Grating -= {i * Min} break; EratosfenGrating()
Отредактировано FishHook (Апрель 8, 2013 05:43:04)
Офлайн
0
Дело не в том, она вызывается, просто я не указал этого в коде. Непонятно почему в 1м цикле значения переменных видно, а во втором - нет
Офлайн
7
s0rgЭто проверка на непустое множество.
Grating != set()
Это что вообще?
ahpexНевозможно воспроизвести то, о чем вы пытаетесь сказать.
Дело не в том, она вызывается, просто я не указал этого в коде. Непонятно почему в 1м цикле значения переменных видно, а во втором - нет
Офлайн
25
IsemВы используете подобные конструкции в своем коде?
Это проверка на непустое множество.
Офлайн