2 回答
TA贡献1752条经验 获得超4个赞
要将 ASCII 字母一个一个地打印出来,您必须将字母分成多行并连接所有相应的行。假设您的 ASCII 文本由 8 行组成:
name = input("What is your name: ")
splitname = list(name)
# Put the right number of lines of the ASCII letter
letter_height = 8
# This will contain the new lines
# obtained concatenating the lines
# of the single letters
complete_lines = [""] * letter_height
for i in range(len(splitname)):
f = open(splitname[i] + ".txt","r")
contents = f.read()
# Split the letter in lines
lines = contents.splitlines()
# Concatenate the lines
for j in range(letter_height):
complete_lines[j] = complete_lines[j] + " " + lines[j]
# Print all the lines
for j in range(letter_height):
print(complete_lines[j])
TA贡献1876条经验 获得超7个赞
解决方案有点复杂,因为您必须逐行打印出来,但您已经需要“信件”文件的所有内容。
解决方案是读取第一个字母的第一行,然后将此字符串与下一个字母的第一行连接起来,依此类推。然后对第二行执行相同的操作,直到打印所有行。
我不会提供完整的解决方案,但我可以帮助修复您的代码。首先,您只需阅读信件文件的一行。如果句柄仍处于打开状态,您可以使用f.readline()
而不是f.read()
每次连续调用此函数将读取此文件中的下一行。
添加回答
举报