def Reset():
global seven_digit
seven_digit = ["","","","","","",""]
global x
x = 0
global eight
eight = 0
global c
c = 0
cinput()
def cinput():
global thing
print("Enter digit ", x+1)
thing = input("")
check()
def check():
global eight
global x
if not thing.isdigit():
print("That character is not allowed")
cinput()
elif len(thing) > 1:
print("Those characters are not allowed")
cinput()
if x < 7:
seven_digit[x] = int(thing)
x += 1
cinput()
if x == 7:
eight = int(thing)
fcheck()
def fcheck(): #this section is temporary just for testing
global c
c+=1
print("This is c, ", c)
print("Test")
print(seven_digit)
print(eight)
Reset()
これは私がaレベルタスクとして開発したコードです(これは今年のGCSEコースです)。しかし、私は問題を遭遇しました。 fcheck()の-created関数は、それ自身を8回繰り返します。私は以前のようなプロセスをPythonで使用していましたが、これまでのようなエラーは見たことがありません。私はそれを修正するために何ができるか知っていたのだろうかと思っていた。Pythonコードは必要でないときに8回繰り返されます
コードstatement - thing = input()の後にcheck()の下の 'if elif'をcinput()に移動する必要があります。再帰はどのfcheck()が繰り返されるかによって発生します – Len
すべてのグローバルステートメントと空白やコメントの欠如の中で私は興味があります。 –
@unMask、ここで再帰はありません。一連の呼び出しがありますが、これは再帰ではなく、関数自体は呼び出しません。 –