Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.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 代码缩进_Python - Fatal编程技术网

Python 代码缩进

Python 代码缩进,python,Python,我编写了一个程序,从命令行获取一个参数,并使用文件中的数字生成一组统计数据。我无法编译代码,因为存在缩进错误。我试过了,但我不知道我的缩进哪里不正确。谁能给我指一下正确的方向吗 代码: 导入系统 def中值(alist): n=len(alist) 如果n您的代码需要在之后缩进语句。这是正确的代码 import sys def median(alist): n=len(alist) if n<1: return 'There are none' i

我编写了一个程序,从命令行获取一个参数,并使用文件中的数字生成一组统计数据。我无法编译代码,因为存在缩进错误。我试过了,但我不知道我的缩进哪里不正确。谁能给我指一下正确的方向吗

代码:

导入系统 def中值(alist): n=len(alist)
如果n您的代码需要在
之后缩进
语句。这是正确的代码

import sys

def median(alist):
    n=len(alist)
    if n<1:
        return 'There are none'
    if n%2:
        return sorted(alist)[n//2]
    else:
        return sum(sorted(alist)[n//2-1:n//2+1])/2.0

def minimum(alist):
    return min(alist)

def maximum(alist):
    return max(alist)

def average(alist):
    return sum(alist) / len(alist)

def main():
    with open(sys.argv[1], 'r') as handle:
        lines = handle.readlines()
    list1 = []
    for line in lines:
        fields = line.split()
    for field in fields:
        list1.append(float(field))  
    median(alist)
    minimum(alist)
    maximum(alist)
    average(alist)

if __name__ == '__main__':
    main()
导入系统 def中值(alist): n=len(alist)
如果n你的缩进应该在脚本中保持一致 Pep 8强烈建议在制表符上使用空格。 我个人使用4个空格


正如JonDoe在上面所说的,with语句后面的缩进需要像do for一样缩进,而if语句查看错误。它从字面上告诉您的代码哪里出错了。在
lines=handle.readlines()
之前需要额外的空间。您的缩进是有争议的。只有
lines=handle.readlines()
必须缩进。以下所有行在
with
块中都没有业务。您是对的。我会修好的。
import sys

def median(alist):
    n=len(alist)
    if n<1:
        return 'There are none'
    if n%2:
        return sorted(alist)[n//2]
    else:
        return sum(sorted(alist)[n//2-1:n//2+1])/2.0

def minimum(alist):
    return min(alist)

def maximum(alist):
    return max(alist)

def average(alist):
    return sum(alist) / len(alist)

def main():
    with open(sys.argv[1], 'r') as handle:
        lines = handle.readlines()
    list1 = []
    for line in lines:
        fields = line.split()
    for field in fields:
        list1.append(float(field))  
    median(alist)
    minimum(alist)
    maximum(alist)
    average(alist)

if __name__ == '__main__':
    main()