问题描述
我正在用pythong测试东西(我真的很普通,还在学习);我做了一个游戏,我想计算赢/猜的次数。我已经尝试了一些定义函数的方法,但是必须在函数之前调用变量,以便将其重置。同样,我真的很不好,如果有人可以给我写一个例子/解释,我将不胜感激。 PS:如果您不使用特定格式或其他格式的内容,我对此表示歉意,我是堆栈溢出的新手:D
解决方法
如果要计算胜利数,一个很好的方法是使用for循环。这些是重复执行一定次数的代码部分。您可以将主游戏结构放入一个函数中,该函数在循环的每次迭代中完成。因此,假设您的实际游戏是一个名为main_game()
的函数:
def main_game():
# all your game code can go here
if won: # you can change this to reflect your own code
return True # the return statement passes a value back to the place that called it
else:
return False
旁注:如果您不了解return
或def
之类的基本python构造,请查看python docs。
然后我们可以循环执行此功能。 range()
的参数表示应该执行此操作的次数,因此在这种情况下为10次。
wins = 0
for i in range(10): # this a for loop. "i" represents the iteration of the loop.
result = main_game() # this calls the function
if result == True: # in other words,if they've scored
wins = wins+1 # add one to the wins total
表达式result = main_game()
基本上将main_game()
返回的内容分配给名为result
的变量。这就是为什么我们在return True
函数中使用print(True)
而不是main_game
的原因,因为它会将该值发送回result
。
然后,它检查用户是否赢了,如果赢了,则在迭代之前增加其总赢额。请注意,没有elif
或else
语句,因为如果result
是True
以外的任何其他值,则我们不必对获胜总数进行任何操作。
这是您如何使用计数器的基本框架,该计数器根据与您的游戏有关的条件而上升,并且需要一些扩展,但应该为您提供一些指导。