2017-03-15 21 views
1

私はPythonプロジェクトに取り組んでおり、最近は小さな例外を指定して割り当てを完了しました。最後の部分は文字列を印刷することで、私の人生の間、複数の行に印刷を続けます。1行への印刷

私は決して騙されたくありませんが、最終的なプリントが1行にしか及ばない解決策に手伝ってもらえますか?

import random 

def loadFile(fileName): 
    file_variable = open(fileName, 'r') 
    stringList = file_variable.readlines() 
    file_variable.close() 
    return stringList 


def main(): 
    list_1 = loadFile('names.txt') 
    list_2 = loadFile('titles.txt') 
    list_3 = loadFile('descriptors.txt') 

print(random.choice(list_2), random.choice(list_1), random.choice(list_1), ' the ', random.choice(list_3)) 

main() 

答えて

2

file.readlines()改行を含む行のリストを返します。 あなたはstr.stripまたはstr.rstripを使用して文字列から改行を削除する必要があります。

print(
    random.choice(list_2).rstrip(), # rstrip('\n') if you want keep trailing space 
    random.choice(list_1).rstrip(), 
    random.choice(list_1).rstrip(), 
    'the', 
    random.choice(list_3).rstrip() 
) 

またはloadFileを変更することによって:

def loadFile(fileName): 
    with open(fileName) as f: 
     return [line.rstrip() for line in f] 
+0

私は愚かな感じ。ありがとうございました。 – Rivers31334

+0

@ Rivers31334、よろしくお願いします。ハッピーパイソンプログラミング! – falsetru