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()

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]