为什么我的 for 循环不更新给定的变量?

Why is my for loop not updating a given variable?

import random
stats = [0,0,0,0,0,0] 
def single_roll(n,fixed=(),sides=6):
    for x in range(0,n):
        dice = random.randint(1,6)
            if dice == 1:
                stats[0] += 1
            elif dice == 2:
                stats[1] += 1
            elif dice == 3:
                stats[2] += 1
            elif dice == 4:
                stats[3] += 1
            elif dice == 5:
                stats[4] += 1
            elif dice == 6:
                stats[5] +=1

这是我当前的代码,我试图创建一个列表,其中包含掷 n 个骰子时数字 1-6 出现的次数。当我 运行 我的代码时,它只打印一个包含 6 个零的列表。感谢您的帮助。

def single_roll(n,fixed=(),sides=6): 正在创建函数。这段代码本身不会 运行 除非你真的调用它。把它当作一个任务,你需要把任务告诉运行。下面是一个例子。

import random
stats = [0,0,0,0,0,0] 
def single_roll(n,fixed=(),sides=6):
    for x in range(0,n):
        dice = random.randint(1,6)
        if dice == 1:
            stats[0] += 1
        elif dice == 2:
            stats[1] += 1
        elif dice == 3:
            stats[2] += 1
        elif dice == 4:
            stats[3] += 1
        elif dice == 5:
            stats[4] += 1
        elif dice == 6:
            stats[5] +=1
single_roll(6)

您似乎在定义 single_roll() 函数,但从未实际调用它。所以你给了自己掷骰子的机制,但你从来没有真正掷过。