如何在python中进行条纹计数是否正确,然后将1加到变量中

问题描述

我正在用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

旁注:如果您不了解returndef之类的基本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

然后,它检查用户是否赢了,如果赢了,则在迭代之前增加其总赢额。请注意,没有elifelse语句,因为如果resultTrue以外的任何其他值,则我们不必对获胜总数进行任何操作。

这是您如何使用计数器的基本框架,该计数器根据与您的游戏有关的条件而上升,并且需要一些扩展,但应该为您提供一些指导。