2016-07-24 15 views
-2

Also ich bin auf ex41 von LPTHW, aber ich mache es in Python 3 anstatt Python 2 Ich habe die meisten Fehler behoben, aber ich stoße auf eine Mauer - Wenn ich meinen Code laufen lasse einfach leer geht in Powershell, wenn ich dann CTRL-C hit gibt es mir diese Fehlermeldung:Code bleibt hängen?

http://pastebin.com/iVCmCAWG

Mein Code:

http://pastebin.com/5XPNGJe6

Jede Hilfe/Vorschläge wäre sehr dankbar!

Antwort

0

Ich reparierte es, dank einiger Hilfe von learnpython subreddit und auch hier, erkannte ich, dass mein Programm nur laufen würde, wenn ich die Argumente "Englisch" an Powershell übergeben würde. Der Grund dafür ist, dass die letzte while-Schleife nur dann gedruckt wird, wenn PHRASE_FIRST auf True gesetzt wurde (das war der Zeitpunkt, an dem Sie den englischen arg in powershell übergeben haben).

daher musste ich eine else-Anweisung hinzufügen, falls Sie in Powershell kein Argument übergeben haben und es nicht in Englisch -> Code-Form ausführen wollten.

So im Wesentlichen, was ich hinzugefügt wurde:

else: 
    print(question) 

    input("> ") 
    print("ANSWER: {0}\n\n".format(answer)) 

nach der letzten if-Anweisung

0

Das Klicken auf CTRL-C weist PowerShell an, die Ausführung des Programms zu stoppen, was zu einem KeyboardInterrupt Fehler führt.

Ein Kommentar im Programm erwähnt die folgenden:

# Keep going until they hit CTRL-D

Bedeutung Sie mit CTRL-D verlassen haben. Das scheint nicht zu funktionieren, also ist das Beenden mit CTRL-C logisch. Das Programm ist an der Linie

unterbrochen, weil wir beide die gleichen Fehler hatten.

Ich habe persönlich beendet, das Tutorial um Ex.25 zu folgen. Das Examen von Projekten, die in Python geschrieben wurden, ist weitaus effektiver, weil Sie die Funktionen erforschen können, die der Programmierer/Entwickler für das Projekt verwendet hat.

+0

Leider habe ich nicht spezifisch genug, um in meinem Beitrag war, habe ich die ganze STRG + C Sache verstehen, aber wie würden Sie vorschlagen, dass ich diesen Fehler behebe? – Aaron

+0

@Aaron, Zeile 77 ist 'while True:'. Das Umschalten auf 'für i im Bereich (0, 20):' wird die Funktion 20 Mal anstatt für immer ausführen. –

Verwandte Themen