Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.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 3.x 如何在if语句中使用len()_Python 3.x - Fatal编程技术网

Python 3.x 如何在if语句中使用len()

Python 3.x 如何在if语句中使用len(),python-3.x,Python 3.x,我正在定义一个函数,标准偏差,它使用一个数字列表,并返回一个表示其标准偏差的浮点。如果列表少于2个元素,我需要使用len函数返回None 这是我写的: SURVEY_RESULTS = [0, 1, 2, 0, 2, 3, 1, 1, 1, 2] def standard_deviation(): if len(SURVEY_RESULTS) < 2: return None elif len(SURVEY_RESULTS) > 2:

我正在定义一个函数,标准偏差,它使用一个数字列表,并返回一个表示其标准偏差的浮点。如果列表少于2个元素,我需要使用len函数返回None

这是我写的:

SURVEY_RESULTS = [0, 1, 2, 0, 2, 3, 1, 1, 1, 2]
def standard_deviation():
    if len(SURVEY_RESULTS) < 2:
        return None
    elif len(SURVEY_RESULTS) > 2:
        stdev = (((sum(square(SURVEY_RESULTS))) - (summate * summate)/(count))/(count - 1)) ** .5
        rounded_stdev = (round(stdev, 2))
    print(rounded_stdev)
调查结果=[0,1,2,0,2,3,1,1,1,2]
def标准偏差()
如果len(调查结果)<2:
一无所获
elif len(调查结果)>2:
标准偏差=((总和(平方(调查结果)))-(总和*总和)/(计数))/(计数-1))**.5
舍入度=舍入度(舍入度(舍入度,2))
打印(四舍五入)

运行代码时不会打印任何内容。我已经分别运行了标准偏差代码,因此我知道它可以正常工作,我的问题在于if语句。

有一个警告:您没有考虑
len()
为2的情况


实际答案就在这里。您是否在所有def块之后运行了
standard_deviation()
?它不需要缩进。对于def,您只是定义了一个函数,而没有运行它。

有一个警报:您没有考虑
len()
为2的情况


实际答案就在这里。您是否在所有def块之后运行了
standard_deviation()
?它不需要缩进。使用def时,您只是定义了一个函数,而没有运行它

您的环境有问题,因为代码很好。为了运行它,我从
stddev=
行中删除了所有未定义的部分,然后调用
standard_deviation()
函数。它按预期工作:

SURVEY_RESULTS = [0, 1, 2, 0, 2, 3, 1, 1, 1, 2]
def standard_deviation():
    if len(SURVEY_RESULTS) < 2:
        return None
    elif len(SURVEY_RESULTS) > 2:
        stdev = sum(SURVEY_RESULTS) ** .5
        rounded_stdev = (round(stdev, 2))
    print(rounded_stdev)

standard_deviation()

尽量将代码减少到最少的示例—这不仅会产生一个更好的问题,更有可能吸引高质量的答案,而且在这样做时,您可能会发现错误在其他地方。

您的环境存在问题,因为代码很好。为了运行它,我从
stddev=
行中删除了所有未定义的部分,然后调用
standard_deviation()
函数。它按预期工作:

SURVEY_RESULTS = [0, 1, 2, 0, 2, 3, 1, 1, 1, 2]
def standard_deviation():
    if len(SURVEY_RESULTS) < 2:
        return None
    elif len(SURVEY_RESULTS) > 2:
        stdev = sum(SURVEY_RESULTS) ** .5
        rounded_stdev = (round(stdev, 2))
    print(rounded_stdev)

standard_deviation()

尽量将代码减少到最少的示例—这不仅会产生更好的问题,更有可能吸引高质量的答案,而且这样做时,您可能会发现错误在其他地方。

我忘了提到,只有当列表长度小于2时,代码才不起作用。我试图测试当调查结果少于2个元素时,代码是否会返回None。这是另一个问题。告诉我们这是如何不适用于您的。我忘了提到,只有当列表长度小于2时,代码才起作用。我试图测试当调查结果少于2个元素时,代码是否会返回None。这是另一个问题。告诉我们这对您现在是如何不起作用的。整个
elif…
是不必要的,
else:
会很好整个
elif…
是不必要的,
else:
会很好