我试图提取文件中每一行的第一个字母,然后将这些字母打印到新文件中。我正在逐步工作,因此我创建了能够提取每一行的第一个字母的代码,但是,当我添加代码来读取特定文件时,它似乎没有正确迭代整个文件内容。有谁知道为什么我的 for 循环不迭代?或者也许是它正在迭代但没有正确地将字母添加到“行”的问题。
def secret2(m):
infile = open(m, 'r')
text = infile.read()
for line in text:
lines = text[0]
for i in range(len(text)):
if text[i] == '\n':
lines += text[i+1]
print(lines)
return(lines)
m.close()
Run Code Online (Sandbox Code Playgroud)
输出:
>>> secret2('file.txt')
A
'A'
>>>
Run Code Online (Sandbox Code Playgroud)
正确的输出是:
>>> secret2('file.txt')
'ALICE'
>>>
Run Code Online (Sandbox Code Playgroud)
您的代码正在迭代字符而不是行。您可以使用以下代码打印每行的第一个字符:
def secret2(m):
with open(m) as infile:
print(''.join(line[0] for line in infile if line))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16392 次 |
| 最近记录: |