質問: ``` def kysy(name): file=open(tiedoston_nimi,"w",encoding="utf-8") while(True): nimi=input("Anna tiedostoon tallennettava nimi (0 lopettaa): ")#名前入力 if(nimi=="0"):#ゼロで終了 break name=file.write(nimi)#ファイルに名前を書き込む file.close() return None def tulosta(data): #読み込む file=open(tiedoston_nimi,"r",encoding="utf-8") print("Tiedostoon"+tiedoston_nimi+"on tallennettu seuraavat nimet:") data=file.read() print(data)#ファイルに書き込んだ名前を出していく(ここで入力した名前が続けてでます。) #理想は、 #あい #さちこ #れいこ #と出力してほしいのですが、「あいさちこれいこ」とでます。 file.close() return None def paaohjelma(): kysy(tiedoston_nimi) tulosta(tiedoston_nimi) print("Kiitos ohjelman käytöstä.") tiedoston_nimi=input("Anna tallennettavan tiedoston nimi: ") paaohjelma() ```
回答: 質問のコードで書き込まれたファイルを見ていただければわかりますが、一行にまとまっていて、改行されていません。書き込む時に改行コード`\n` を入れればファイルに1行ずつ名前が書き込まれます。 ``` def kysy(name): file=open(tiedoston_nimi,"w",encoding="utf-8") while(True): nimi=input("Anna tiedostoon tallennettava nimi (0 lopettaa): ") #名前入力 if(nimi=="0"):#ゼロで終了 break name=file.write(nimi+"\n")#ファイルに名前を書き込む(改行コード追記) file.close() return None def tulosta(data): #読み込む file=open(tiedoston_nimi,"r",encoding="utf-8") print("Tiedostoon"+tiedoston_nimi+"on tallennettu seuraavat nimet:") data=file.read() data = data.strip() # 最後に改行が入るのを防止する。 print(data)#ファイルに書き込んだ名前を出していく(ここで入力した名前が続けてでます。) #理想は、 #あい #さちこ #れいこ #と出力してほしいのですが、「あいさちこれいこ」とでます。 file.close() return None def paaohjelma(): kysy(tiedoston_nimi) tulosta(tiedoston_nimi) print("Kiitos ohjelman käytöstä.") tiedoston_nimi=input("Anna tallennettavan tiedoston nimi: ") paaohjelma() ```