Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么函数中的变量d1会给出错误;d1未定义为;(它正在工作,但现在不行了)_Python - Fatal编程技术网

Python 为什么函数中的变量d1会给出错误;d1未定义为;(它正在工作,但现在不行了)

Python 为什么函数中的变量d1会给出错误;d1未定义为;(它正在工作,但现在不行了),python,Python,''这是我想出的骰子卷的版本。我知道我没有那么聪明,而且思维迟钝。但我正在努力学习并使这段代码起作用。变量d1得到错误“d1未定义”,从而停止滚动。“” 出现这个问题是因为在python中,函数中的变量属于该函数。无法在此功能之外访问它。我会重写一下你的代码,因为我认为你的函数中有很多东西 随机导入 def dice_roll(): d1=随机。随机数(1,6) d2=随机随机随机数(1,6) return(d1,d2)#返回骰子的元组 def骰子总数(转鼓): 总计=[num1+num2表示n

''这是我想出的骰子卷的版本。我知道我没有那么聪明,而且思维迟钝。但我正在努力学习并使这段代码起作用。变量d1得到错误“d1未定义”,从而停止滚动。“”


出现这个问题是因为在python中,函数中的变量属于该函数。无法在此功能之外访问它。我会重写一下你的代码,因为我认为你的函数中有很多东西

随机导入
def dice_roll():
d1=随机。随机数(1,6)
d2=随机随机随机数(1,6)
return(d1,d2)#返回骰子的元组
def骰子总数(转鼓):
总计=[num1+num2表示num1,num2表示转鼓]
返回总计#返回卷的总计列表
掷骰子=[掷骰子(掷骰子)(),掷骰子范围为(10)]
总数=骰子总数(掷骰子)
打印(总计)
打印(卷)
#输出:
#[6, 6, 10, 7, 10, 6, 10, 8, 5, 7]
#[(1, 5), (2, 4), (5, 5), (5, 2), (6, 4), (2, 4), (5, 5), (5, 3), (4, 1), (1, 6)]
然后,这将为您提供包含每个骰子卷的元组列表,以及包含每个骰子卷总数的列表。从那里你可以在骰子上运行统计数据


通常最好的做法是使用短而精确的功能。这使得调试和更新更容易

d1
仅在
dice()函数中定义。如果你试图在另一个函数中访问它,或者在主级别访问它,它将是未定义的。你的缩进被搞得一团糟。你是统计学家“jedkea”,你的贡献正是我想要的。非常感谢你。问题解决了,这很有帮助。如果它解决了你的问题,你介意接受我在旁边打勾的答案吗?
import numpy as np
import pandas as pd
import random
from statistics import mean, stdev

def dice():
    count = 0
    d1=([random.randint(1,6) for _ in range(10)])
    count = count + d1  
    d2=([random.randint(1,6) for _ in range(10)])
    count = count + d2

    tot=(d1+d2)
    medi=mean(d1,d2)
    stand=stdev(d1,d2)


print(d1,d2)
print(tot)
print(medi)
print(stand)