나는이 코드를 사용하여 반복적으로 노고를 봤으며 doctest를 전달하는 방법을 알 수 없습니다. 출력은 항상 정답보다 1000 작습니다. 이 코드를 변경하여 원하는 결과를 얻을 수있는 간단한 방법이 있습니까 ?? 내 코드는 다음과 같습니다 파일의파일의 모든 숫자의 합
def sum_numbers_in_file(filename):
"""
Return the sum of the numbers in the given file (which only contains
integers separated by whitespace).
>>> sum_numbers_in_file("numb.txt")
19138
"""
f = open(filename)
m = f.readline()
n = sum([sum([int(x) for x in line.split()]) for line in f])
f.close()
return n
값은 다음과 같습니다
1000
15000
2000
1138
에 해당 .readline()'? – cHao
음 .. 이제 나는 그것을'readlines()'로 바 꾸었습니다. 원래 코드와 광산의 차이점을 확인하십시오. – karthikr
즉, "단지 readline 호출을 제거하는"방법은 더 간단하고 명확합니다. 또한 대괄호는'sum'을 호출 할 때 불필요하며'with' 블록을 사용하여 파일을 관리하는 것이 더 좋습니다. –