Python 如何在文件中查找ASCII值的总和查找最大ASCII数并打印出最高ASCII值总和的名称

Python 如何在文件中查找ASCII值的总和查找最大ASCII数并打印出最高ASCII值总和的名称,python,Python,这是我正在使用的代码 def ascii_sum(): x = 0 infile = open("30075165.txt","r") for line in infile: return sum([ord(x) for x in line]) infile.close() 这段代码只打印出文件中的第一个ASCII值,而不是最大ASCII值。这是您的一个问题答案的一个片段 max(open(fname), key=lambda line: sum

这是我正在使用的代码

def ascii_sum():
    x = 0
    infile = open("30075165.txt","r")
    for line in infile:
        return sum([ord(x) for x in line])
    infile.close()

这段代码只打印出文件中的第一个ASCII值,而不是最大ASCII值。这是您的一个问题答案的一个片段

max(open(fname), key=lambda line: sum(ord(i) for i in line))

你不能扩展上一个问题?在你上一个问题的更新中,我已经有了一个解决方案:我打赌这也回答了你的下一个问题。+1如果他想要行号,他可以做:maxenumerateopenfname,key=lambda I,line:sumordi for I in line
def get_file_data(filename):
    def ascii_sum(line):
        return sum([ord(x) for x in line])
    def word_count(line):
        return len(line.split(None))

    filedata = [{'line': line, 
                 'line_len': len(line), 
                 'ascii_sum': ascii_sum(line), 
                 'word_count': word_count(line)}
                for line in open(filename, 'r')]

    return filedata

afile = r"C:\Tmp\TestFile.txt"
file_data = get_file_data(afile)

print max(file_data, key=lambda line: line['line_len']) # Longest Line
print max(file_data, key=lambda line: line['ascii_sum']) # Largest ASCII sum
print max(file_data, key=lambda line: line['word_count']) # Most Words