Python 代码缩进
我编写了一个程序,从命令行获取一个参数,并使用文件中的数字生成一组统计数据。我无法编译代码,因为存在缩进错误。我试过了,但我不知道我的缩进哪里不正确。谁能给我指一下正确的方向吗 代码: 导入系统 def中值(alist): n=len(alist)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
如果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()