2017-03-15 1 views
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