编写程序统计文本文件 sample.txt(假设 sample.txt 与程序文件位于同一目录下)中最长 行的长度和该行的内容,并返回统计结果。
时间: 2024-03-24 15:36:25 浏览: 134
【面向对象的程序设计c++】读入文件“file1.txt”,加行号后输出到文件“file2.txt”,统计并输出读入的行数和最长行的长度。
好的,我可以帮你编写这个程序。以下是一个 Python 实现:
```python
def find_longest_line(filename):
"""
统计文本文件中最长行的长度和该行的内容
"""
max_length = 0
longest_line = ''
with open(filename, 'r') as f:
for line in f:
if len(line) > max_length:
max_length = len(line)
longest_line = line.strip()
return max_length, longest_line
result = find_longest_line('sample.txt')
print('最长行的长度为:', result[0])
print('最长行的内容为:', result[1])
```
这个程序首先定义了一个名为 find_longest_line 的函数,其输入参数为 filename,即要统计的文本文件的文件名。该函数使用了 with open(filename, 'r') as f 语句来打开文件,并使用 for line in f 循环逐行读取文件中的内容。在每次循环中,我们使用 len(line) 函数来计算当前行的长度,如果该长度比之前的最大长度 max_length 要大,则将当前行的长度更新为最大长度,并将当前行的内容保存在 longest_line 变量中。最后,函数返回最大长度和最长行的内容。
在程序的主体部分,我们首先调用 find_longest_line 函数并将其结果保存在 result 变量中。然后,我们使用 print 语句输出最长行的长度和内容。
注意:如果 sample.txt 文件中存在多行长度相同的最长行,则函数只会返回其中的一行。
阅读全文