Читать книгу Routineaufgaben mit Python automatisieren - Al Sweigart - Страница 129
Beispielprogramm: Magic 8 Ball mithilfe einer Liste
ОглавлениеMithilfe von Listen können Sie das Programm Magic 8 Ball aus dem vorherigen Kapitel auf eine viel elegantere Weise schreiben. Anstatt mehrere Zeilen nahezu identischer elif-Anweisungen zu verwenden, können Sie eine einzelne Liste aufstellen, mit der der Code dann arbeitet. Geben Sie den folgenden Code im Dateieditor ein und speichern Sie ihn als magic8Ball2.py:
import random
messages = ['It is certain',
'It is decidedly so',
'Yes definitely',
'Reply hazy try again',
'Ask again later',
'Concentrate and ask again',
'My reply is no',
'Outlook not so good',
'Very doubtful']
print(messages[random.randint(0, len(messages) - 1)])
Die Ausführung dieses Programms können Sie sich auf https://autbor.com/magic-8ball2/ ansehen.
Wenn Sie das Programm ausführen, werden Sie feststellen, dass es genauso funktioniert wie die ursprüngliche Version magic8Ball.py.
Beachten Sie den Ausdruck random.randint(0, len(messages) -1), den Sie hier als Index für messages verwenden. Dadurch wird für den Index eine Zufallszahl generiert, die von der Größe von messages abhängig ist – d. h., Sie erhalten eine Zufallszahl zwischen 0 und dem Wert von len(messages) - 1. Der Vorteil dieser Vorgehensweise besteht darin, dass Sie Elemente zur Liste messages hinzufügen und daraus entfernen können, ohne diese Codezeile zu ändern. Wenn Sie den Code später ändern, müssen Sie weniger Codezeilen anfassen, was auch weniger Gelegenheiten dafür bietet, Fehler einzubauen.