CS50s Einführung in die Programmierung mit Python: Frage zum Aufgabensatz „Briefe“ von Frank, Ian und GlenPython

Python-Programme
Guest
 CS50s Einführung in die Programmierung mit Python: Frage zum Aufgabensatz „Briefe“ von Frank, Ian und Glen

Post by Guest »

Dies war die gestellte Frage:
Implementieren Sie ein Programm, das:
null oder zwei Befehlszeilenargumente erwartet:
Null, wenn der Benutzer Text in einer zufälligen Schriftart ausgeben möchte.
Zwei, wenn der Benutzer Text in einer bestimmten Schriftart ausgeben möchte. In diesem Fall sollte die erste der beiden -f oder --font sein und die zweite der beiden sollte der Name der Schriftart sein.Fordert den Benutzer auf für eine Textzeile.
Gibt diesen Text in der gewünschten Schriftart aus.
Wenn der Benutzer zwei Befehlszeilenargumente angibt und das erste nicht -f oder --font ist oder das zweite nicht der Name von ist eine Schriftart, sollte das Programm über sys.exit mit einer Fehlermeldung beendet werden.
Das war meine Lösung:

Code: Select all

def asci():
if len(sys.argv) == 1:
user_input = input("Input: ")
fig = Figlet()
fonts = fig.getFonts()
random_font = random.choice(fonts)
dig = Figlet(random_font)
text = dig.renderText(user_input)
print(text)
elif len(sys.argv) == 3:
if sys.argv[1] == '-f' or sys.argv[1] == '--font':
fig = Figlet()
fonts = fig.getFonts()
if sys.argv[2] in fonts:
dig = Figlet(sys.argv[2])
user_input = input("Input: ")
text = dig.renderText(user_input)
print(text)
else:
print("Invalid Usage")
sys.exit()
else:
print("Invalid Usage")
sys.exit()
else:
print("Invalid Usage")
sys.exit()
asci()
Aber es gibt mir dieses Problem:
Image

Wenn ich jetzt stattdessen überall in meinem Code sys.exit(1) verwende, ist alles erfolgreich. Meine Frage ist, warum sys.exit(1) alle Probleme behebt?
[img]https://i.sstatic.net /6dplYRBM.png[/img]

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post