Найти - Пользователи
Полная версия: Рекурсия и мой компьютер
Начало » Python для новичков » Рекурсия и мой компьютер
1
Djo0513
 import random
import sys
print(sys.getrecursionlimit())
sys.setrecursionlimit(40000)
print(sys.getrecursionlimit())
g = []
for i in range(200):
    b = random.randint(0, 1241)
    g.append(b)
def sorter():
    global g
    for i, k in enumerate(g):
        try:
            if g[i] > g[i + 1]:
                g[i], g[i + 1] = g[i + 1], g[i]
                return sorter()
        except IndexError:
            break
sorter()
print(g)

Пытался создать что то похожее на метод sort() и столкнулся с интересным поведением змеи. При запуске этого кода на моём пк интерпретатор выдаёт вот такую ошибку:
 Process finished with exit code -1073741571 (0xC00000FD)
Причём пишет только это, никакой трэйсбэк не вылетает и красные слова тоже. Решил запустить через онлайн компилятор - всё заработало прекрасно и ошибки никакой не было.

Почему так?
JOHN_16
Вы гуглить видимо совсем не пробовали. Подумали что нашли что то сверх неординарное и надо быстрее показать это сообществу. Однако первая же ссылка в гугле расставляет все на места - StackOverflow.com

P.S. у меня работает
Djo0513
JOHN_16
Не все родились с пониманием английского. Я смотрел на stack overflow, но кроме того что надо подключать потоки ничего не понял, поэтому я задал вопрос сюда, чтоб меня разъяснили.

Это точно раздел для новичков?
WoMax
Djo0513
Не все родились с пониманием английского.
а есть кто-то, кто родился с пониманием английского?
Rodegast
> Не все родились с пониманием английского.

Не вижу никаких проблем: http://translate.google.ru/
PEHDOM
Djo0513 Если вкратце то 0xC00000FD это переполнение стека (stack owerflow)
тут https://msdn.microsoft.com/en-us/library/cc704588.aspx можно посмотреть все коды ошибок корпорации зла MS.
по ссылке на StackOverflow, котороую вам дал JOHN_16, советуют увеличить размер стека.
По той же ссылке рекомендуют использовать threading где этот размер можно указать ручками threading.stack_size() при создании новой нити.
но можете использовать CreateThread из winAPI https://msdn.microsoft.com/en-us/library/windows/desktop/ms682453%28v=vs.85%29.aspx или любое другое решение которое посчитаете приемлимым.
Djo0513
Не все родились с пониманием английского.
Надо бателька стараться, если хотите заниматься програмированием, без этого никак.
ЗЫ да у меня тоже все работает , не вызывая перепонения стека.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB