用Windows“记事本”创建一个文本文件,其中每行包含一段英文。试读出文件的全部内容,并判断: (1)该文本文件共有多少行? (2)文件中以大写字母P开头的有多少行? (3)一行中包含字符最多的和包含字符最少的分别在第几行?
时间: 2024-02-13 11:02:21 浏览: 90
好的,我会根据您的要求回答您的问题。
1. 假设您的文本文件名为text.txt,可以使用以下Python代码读取文件中的所有行数:
```
with open('text.txt', 'r') as file:
lines = file.readlines()
print(len(lines))
```
其中,`open()`函数用于打开文件,`readlines()`方法返回文件中所有行的列表,`len()`函数返回列表中元素的个数,即为文件的行数。
2. 如果您想知道以大写字母P开头的行数,可以使用以下Python代码:
```
with open('text.txt', 'r') as file:
lines = file.readlines()
count = 0
for line in lines:
if line.startswith('P'):
count += 1
print(count)
```
其中,`startswith()`方法用于判断字符串是否以指定的字符串开头,如果是,则返回True,否则返回False。在上述代码中,我们遍历文件中的每一行,如果该行以大写字母P开头,则计数器加1,最终输出计数器的值即可。
3. 如果您想知道一行中包含字符最多的和包含字符最少的分别在第几行,可以使用以下Python代码:
```
with open('text.txt', 'r') as file:
lines = file.readlines()
max_len = 0
min_len = len(lines[0])
max_line = 0
min_line = 0
for i, line in enumerate(lines):
length = len(line)
if length > max_len:
max_len = length
max_line = i
if length < min_len:
min_len = length
min_line = i
print("包含字符最多的行数为:", max_line + 1)
print("包含字符最少的行数为:", min_line + 1)
```
在这个代码中,我们使用了`enumerate()`函数来遍历文件中的每一行,并给每一行一个行号。然后,我们用一个变量`length`来记录当前行的字符数,如果`length`比`max_len`大,则更新`max_len`和`max_line`的值,如果`length`比`min_len`小,则更新`min_len`和`min_line`的值。最后输出包含字符最多和最少的行的行号即可。需要注意的是,行号是从0开始的,因此输出时需要加1。
阅读全文