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

Python 为什么我的for循环不更新给定的变量?,python,dice,Python,Dice,这是我当前的代码,我正在尝试创建一个列表,列出掷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

这是我当前的代码,我正在尝试创建一个列表,列出掷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()函数,但从未实际调用它。所以你给了自己掷骰子的机制,但你从来没有真正掷骰子。

你真的在任何地方调用你的方法吗?对不起,我对Python非常陌生,不知道方法是什么。我已经更新了我的答案。单辊是一种功能/方法。把它想象成一项任务。假设函数掷骰子。您需要告诉函数运行。因此,您需要调用单卷(6)。(6) 可以用你想掷多少骰子来代替。扎克,以“def”开头的那一行的目的是什么?
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)