如何在我的定义中插入循环计数器

How to insert loop counter into my definition

number = 7
def magicnumber (guess):
   if number<guess:
        print ("too high")
    elif number>guess:
         print ("too low")
    elif number == guess:
         print ("well done")
      return magicnumber

以上是我的魔术数字猜测程序的代码。我的问题是如何插入循环计数器。我对循环计数器集成做了一些研究,很多人都说使用枚举函数,问题是我不知道如何使用这样的函数以及它是否适合我的情况。通常,我只是将一个计数器变量声明为 0,然后使用 += 函数将 1 添加到该变量,但在我的情况下,这不起作用,因为我无法在 def magicnumber(猜测)行之前声明该变量,如果我要声明它,计数器将在 return 后恢复为 0。因此,我询问如何添加循环计数,因为我只希望用户有 5 次猜测。

谢谢

尝试使用 here 的答案:这就是静态变量的作用(除其他外)。 这将导致以下代码

number = 7
def magicnumber (guess):
    magicnumber.counter += 1
    if(magicnumber.counter <= 5):
         if number<guess:
            print ("too high")
         elif number>guess:
            print ("too low")
         elif number == guess:
             print ("well done")
             magicnumber.counter = 0#If you want to reset the counter
         return
    else:
        print "Out of trials!"
        return

magicnumber.counter = 0
counter = 5
while counter > 0:
    guess = int(raw_input())
    if magicnumber(guess) == number:
        break
    counter -= 1

另一种方法:

for i in range(5):
    guess = int(raw_input())
    if magicnumber(guess) == number:
        break