0

100 から 200 までの素数を出力するプログラムを作成しました (途中で出力コマンドをいくつか追加して、どこに到達したかを確認しました)。 137 で、スクリプトがこの番号をチェックしている間に?

ありがとう!

スクリプトは次のとおりです。

import math
import sys
index=100.0
checker=2.0

def start():
    print("A")
    global index
    while index<=200.0:
        fu1()
    if index>200.0:
        end()

def fu1():
    print ("B")
    print ("checker", checker)
    print ("index", index)
    global index
    global checker
    varb=index/checker
    varb2=round(index/checker, 0)
    if checker>=index:
        print ("C")
        print(index)
        index=index+1.0
        checker=2.0
        start()
    if varb2==varb:
        print("D")
        checker=2.0
        index=index+1.0
        start()
    checker=checker+1.0
    fu1()


def end():
    print("E")
    print("ENDED")
    sys.exit()

start()
4

1 に答える 1

2

あなたのプログラムは再帰呼び出しの数の制限に達しました (Python のデフォルトは 1000 だと思います)...sys.setrecursionlimit(5000)たとえば、このコマンドを使用してそれを増やすことができます。

于 2012-06-16T18:50:08.487 に答える