以下是我正在使用的代码
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值
答案 0 :(得分:1)
max(open(fname), key=lambda line: sum(ord(i) for i in line))
答案 1 :(得分:1)
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