2016-09-13 4 views
-3

Ich brauche Hilfe dabei, ich bin ein absoluter Anfänger bei Python. Meine Aufgabe besteht darin, ein Programm zu erstellen, bei dem der Benutzer eine Kategorie auswählt und dann Wörter aus einer Datei, die sich in dieser Kategorie befinden, verschlüsselt. Ich möchte nur herausfinden, warum dieser erste Teil nicht funktioniert. Der erste Teil ist die erste von vier verschiedenen Methoden, die je nach der Kategorie ausgeführt werden, die der Benutzer wählt.eine Datei auswählen und die Wörter daraus lesen python

print ("Instructions: Enter your chosen category, animals, places, names or colors.") 
viewYourFile = input("Enter your category") 

category = 'animals' 

if category == 'animals': 
    animals = open('animals.txt') 
    next = animals.read(1) 
    while next != "": 
     animal1 = animals.read(1) 
     animal2 = animals.read(2) 
     animal3 = animals.read(3) 
     animal4 = animals.read(4) 
     animal5 = animals.read(5) 
    animalList = ['animal1', 'animal2', 'animal3', 'animal4', 'animal5'] 
    chosenAnimal = random.choice(animalList) 
    animalLetters = list(chosenAnimal) 
    random.shuffle(animalLetters) 
    scrambledAnimal = ' '.join(animalLetters) 
    print(scrambledAnimal) 
    print("Enter the correct spelling of the word") 
+1

Ihre Einrückung ist überall; Bitte repariere es. –

+0

Ist das besser? – Naxty

+0

Nicht wirklich. Dieser Code wird weiterhin nicht ausgeführt. – Prune

Antwort

2

Das erste Problem ist, dass Sie nur 1-5 Buchstaben aus der Datei lesen. Bitte lesen Sie die (Dokumentation) [https://docs.python.org/2/tutorial/inputoutput.html] wie die lesen Funktion funktioniert. Die Zahl in Klammern gibt an, wie viele Bytes Sie lesen möchten.

Möglicherweise möchten Sie eine einfachere Lösung, z. B. Lesen der gesamten Datei und Aufteilen in Wörter. Dies würde in etwa so aussehen:

file_contents = animals.read() 
animalList = file_contents.split() 

Wenn geteilt ist neu für Sie ist, dann (aufblicken) [https://docs.python.org/2/library/string.html] auch diese Methode.

Das nächste Problem besteht darin, dass Sie Ihre Tierliste auf Literalfolgen und nicht auf die eingegebenen Werte eingestellt haben. Ich denke, dass Sie die Zeile lesen möchten:

animalList = [animal1, animal2, animal3, animal4, animal5] 
Verwandte Themen