2017-02-03 3 views
0

Wie würde ich dieses Programm ändern, damit meine Liste nicht den zusätzlichen Text pro Zeile ausspuckt? Das Programm sollte nur die einzelne Zeile ausgeben, die der Benutzer anzeigen möchte, und nicht die Anführungszeichen, die zuvor zur Liste hinzugefügt wurden. Das Programm liest eine Textdatei, die vom Benutzer angezeigt wird, dann zeigt es die ausgewählte Zeile für den Benutzer an und beendet eine '0' Eingabe. Dies ist in PythonPython-Textdatei zu Liste nicht teilen

import string 
count = 0 
#reads file 
def getFile(): 
    while True: 
     inName = input("Please enter file name: ") 
     try: 
      inputFile = open(inName, 'r') 

     except: 
      print ("I cannot open that file. Please try again.") 
     else: 
      break 
    return inputFile 

inputFile = getFile() 
inputList = inputFile.readlines() 

for line in inputList: 
    count = count + 1 
print("There are", count, "lines.") 

while True: 
    lineChoice = int(input("Please select line[0 to exit]: ")) 
    if lineChoice == 0: 
     break 
    elif lineChoice > 0 and lineChoice <= count: 
     print(inputList[:lineChoice - 1]) 
    else: 
     print("Invalid selection[0 to exit]") 

Output:

Please enter file name: quotes.txt 

There are 16 lines. 

Please select line[0 to exit]: 1 

[] 

Please select line[0 to exit]: 2 

['Hakuna Matata!\n'] 

Please select line[0 to exit]: 3 

['Hakuna Matata!\n', 'All our dreams can come true, if we have the courage to pursue them.\n'] 

Please select line[0 to exit]: 

Antwort

0

Von dem, was Sie beschrieben ist, wollen Sie nur die einzelne Zeile vom Benutzer eingegebenen entsprechend der Anzahl angezeigt werden soll.

Momentan verwenden Sie Slicing, um alle Zeilen vor und einschließlich der gewünschten Zeile zu erhalten. Entfernen Sie den Doppelpunkt in Ihrem Druckinputlist Index:

elif lineChoice > 0 and lineChoice <= count: print(inputList[lineChoice - 1].strip())

Um die Angebote und neue Zeile Zeichen usw. zu entfernen, verwenden Sie die Zeichenfolge Methode .strip()

Verwandte Themen