Читать книгу Routineaufgaben mit Python automatisieren - Al Sweigart - Страница 71
»Truthy«- und »Falsey«-Werte
ОглавлениеEs gibt auch einige Werte anderer Datentypen, die in Bedingungen als gleichwertig mit True und False angesehen werden. In Bedingungen gelten 0, 0.0 und '' (ein leerer String) als False, alle anderen Werte dagegen als True. Betrachten Sie beispielsweise das folgende Programm:
name = ''
while not name:
print('Enter your name:')
name = input()
print('How many guests will you have?')
numOfGuests = int(input())
if numOfGuests:
print('Be sure to have enough room for all your guests.')
print('Done')
Die Ausführung dieses Programms können Sie sich auf https://autbor.com/howmanyguests/ ansehen. Wenn der Benutzer einen leeren String für name eingibt, dann ist die Bedingung der while-Anweisung True (), sodass das Programm weiterhin nach dem Namen fragt. Ist der Wert von numOfGuests ungleich 0 (), wird die Bedingung als True aufgefasst, sodass das Programm einen Hinweis für den Benutzer ausgibt ().
Sie könnten auch not name != '' statt not name und numOfGuests != 0 statt numOfGuests schreiben, aber mit den sogenannten Truthy- und Falsey-Werten wird der Code übersichtlicher.
Führen Sie das Programm swordfish.py aus und machen Sie einige Eingaben. Erst wenn Sie sich als Joe vorstellen, werden Sie nach dem Passwort gefragt. Nachdem Sie das richtige Passwort eingegeben haben, endet das Programm.
Who are you?
I'm fine, thanks. Who are you?
Who are you?
Joe
Hello, Joe. What is the password? (It is a fish.)
Mary
Who are you?
Joe
Hello, Joe. What is the password? (It is a fish.)
swordfish
Access granted.
Die Ausführung dieses Programms können Sie sich auf https://autbor.com/hellojoe/ ansehen.