如何在我的定义中插入循环计数器
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
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