无法将数据从文件导入一行

时间:2018-09-12 11:34:30

标签: python

我目前正在编写由我的学校提供​​给我的程序,它是用ASCII文字艺术写您自己的名字,但这仅是复制和粘贴。我试图做到这一点,以便用户输入一个输入,然后输出他们的名字。我的程序当前可以正常工作,只是它不会停留在一行上。

我的代码:

name = input("What is your name: ")

splitname = list(name)

for i in range(len(splitname)):
    f=open(splitname[i] + ".txt","r")
    contents = f.read()
    print(contents)

这是它的输出: output

如果可能的话,我希望将其全部整合到一行上,

2 个答案:

答案 0 :(得分:1)

该解决方案要复杂一些,因为您必须逐行打印出来,但是您已经需要'letter'文件的所有内容。

解决方案是读取第一个字母的第一行,然后将此字符串与下一个字母的第一行连接起来,依此类推。然后对第二行执行相同操作,直到您打印完所有行。

我不会提供完整的解决方案,但是我可以帮助您修复代码。要开始,您只需要阅读信函文件的一行。您可以使用 $.ajax({ url: 'server.php', method: 'post', data: "max=" + max + "&min=" + min , processData: false, success: function( data, textStatus, jQxhr ){ if(data=="done") { alert("done" } else{ alert("not done"); } }, error: function( jqXhr, textStatus, errorThrown ){ alert( errorThrown ); } }); 代替f.readline()来执行此操作,如果句柄仍处于打开状态,则此函数的每个连续调用都会读取该文件中的下一行。

答案 1 :(得分:1)

要一个接一个地打印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])