我写过我的程序从命令行获取参数并使用文件中的数字生成一堆统计数据。由于存在缩进错误,我无法编译我的代码。我试过了,但我只是看不到我的缩进不正确。有人能指出我正确的方向吗?我的代码的缩进
代码:
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()
错误:需要后with
语句缩进
File "stats.py", line 23
lines = handle.readlines()
^
IndentationError: expected an indented block
查看错误。它字面上*告诉你*你的代码出错的地方。 – Jerrybibo
'lines = handle.readlines()'之前需要额外的空间。 – DyZ