Routineaufgaben mit Python automatisieren. Al Sweigart
Чтение книги онлайн.

Читать онлайн книгу Routineaufgaben mit Python automatisieren - Al Sweigart страница 25

Название: Routineaufgaben mit Python automatisieren

Автор: Al Sweigart

Издательство: Bookwire

Жанр: Математика

Серия:

isbn: 9783960889571

isbn:

СКАЧАТЬ der Funktion int() können Sie auch einen Fließkommawert abrunden.

      >>> int(7.7)

      7

      >>> int(7.7) + 1

      8

      In Ihrem ersten Programm werden die Funktionen int() und str() in den letzten drei Zeilen verwendet, um im Code Werte des passenden Datentyps bereitzustellen.

      print('What is your age?') # Fragt nach dem Alter image

      myAge = input()

      print('You will be ' + str(int(myAge) + 1) + ' in a year.')

      Die Variable myAge enthält den von input() zurückgegebenen Wert. Da diese Funktion immer einen String zurückgibt (auch wenn der Benutzer eine Zahl eingegeben hat), müssen Sie den String in myAge mit int(myAge) in einen Integerwert umwandeln, damit Sie 1 addieren können, was in dem Ausdruck int(myAge) + 1 geschieht.

      Das Ergebnis dieser Addition wird wiederum der Funktion str() übergeben: str(int(myAge) + 1). Der daraus resultierende Stringwert wird mit den Strings 'You will be ' und ' in a year' zu einem einzigen, langen Stringwert verkettet, der dann schließlich zur Anzeige an print() übergeben wird.

      Nehmen wir an, der Benutzer gibt als Alter 4 ein. Der String '4' wird in einen Integer umgewandelt, sodass 1 addiert werden kann, was 5 ergibt. Die Funktion str() konvertiert dieses Ergebnis wieder in einen String zurück, sodass er mit dem zweiten String ' in a year' verkettet werden kann, um die endgültige Meldung zu bilden. Die Auswertung läuft wie folgt ab:

image

       Das Verhältnis zwischen Text und Zahlen

      Der Stringwert einer Zahl ist etwas völlig anderes als ihr Integer- oder Fließkommawert. Dagegen können Integer- und Fließkommawerte aber durchaus gleich sein.

      >>> 42 == '42'

      False

      >>> 42 == 42.0

      True

      >>> 42.0 == 0042.000

      True

      Python macht diese Unterscheidung, da Strings Text darstellen, Integer- und Fließkommawerte aber Zahlen.

       Zusammenfassung

      Sie können arithmetische Ausdrücke mit einem Taschenrechner berechnen und Strings in einer Textverarbeitung verketten. Durch Kopieren und Einfügen können Sie sogar auf ganz einfache Weise eine Stringwiederholung erreichen. Ausdrücke, die aus Operatoren, Variablen und Funktionsaufrufen bestehen können, sind dagegen die Grundbausteine von Programmen. Wenn Sie mit diesen Elementen umgehen können, sind Sie in der Lage, Python anzuweisen, große Datenmengen für Sie zu verarbeiten.

      Was Sie sich auf jeden Fall merken sollten, sind die verschiedenen Arten von Operatoren (die arithmetischen Operatoren +, -, *, /, //, % und ** sowie die Stringoperatoren + und *) und die drei in diesem Kapitel vorgestellten Datentypen (Integer, Fließkommazahlen und Strings).

      Sie haben auch schon einige Funktionen kennengelernt. print() kümmert sich um die einfache Textausgabe (auf dem Bildschirm), input() um die Eingabe (von der Tastatur). Die Funktion len() nimmt einen String entgegen und wertet ihn zu einem Integer aus, der die Anzahl der Zeichen in dem String wiedergibt. Mit str(), int() und float() ermitteln Sie die String-, Integer- bzw. Fließkommaversion des übergebenen Wertes.

      Im nächsten Kapitel lernen Sie, wie Sie in Python auf der Grundlage eines Wertes entscheiden, welcher Code ausgeführt, übersprungen oder wiederholt werden soll. Dies wird als Flusssteuerung bezeichnet. Damit können Sie Programme schreiben, die Entscheidungen treffen.

       Wiederholungsfragen

      1 Welche der folgenden Einträge sind Operatoren und welche sind Werte?*'hello'-88.8-/+5

      2 Welcher der folgenden Einträge ist eine Variable und welcher ein String?spam'spam'

      3 Nennen Sie drei Datentypen!

      4 Woraus besteht ein Ausdruck? Was machen alle Ausdrücke?

      5 In diesem Kapitel wurden Zuweisungsanweisungen wie spam = 10 vorgestellt. Was ist der Unterschied zwischen einem Ausdruck und einer Anweisung?

      6 Welchen Wert enthält die Variable bacon, nachdem der folgende Code ausgeführt worden ist?bacon = 20bacon + 1

      7 Wozu werden die beiden folgenden Ausdrücke ausgewertet?'spam' + 'spamspam''spam' * 3

      8 Warum ist eggs ein gültiger Variablenname, 100 dagegen nicht?

      9 Mit welchen drei Funktionen können Sie die Integer-, Fließkomma- oder Stringversion eines Wertes ermitteln?

      10 Warum ruft der folgende Ausdruck eine Fehlermeldung hervor? Wie können Sie ihn korrigieren?'I have eaten ' + 99 + ' burritos.'

      Zusatzpunkt: Suchen Sie online nach der Python-Dokumentation für die Funktion len(). Sie befindet sich auf einer Webseite mit dem Titel »Built-in Functions«. Schauen Sie sich in der Liste weitere Funktionen von Python an, schlagen Sie nach, was die Funktion round() macht, und experimentieren Sie damit in der interaktiven Shell.

       2

       Flusssteuerung

      image Sie kennen jetzt die Grundlagen von Anweisungen und wissen, dass ein Programm nichts anderes als eine Abfolge solcher Anweisungen ist. Die wahre Stärke der Programmierung besteht aber nicht darin, einfach nur eine Anweisung nach der anderen auszuführen, etwa so, wie Sie eine Einkaufsliste abarbeiten. Je nach dem, welches Ergebnis die Auswertung eines Ausdrucks ergibt, kann das Programm entscheiden, Anweisungen zu überspringen oder zu wiederholen, oder unter mehreren möglichen Anweisungen auswählen. In der Praxis wird ein Programm so gut wie nie von der ersten bis zur letzten Anweisung einfach stur Zeile für Zeile ausgeführt. Stattdessen wird mithilfe von Flusssteuerungsanweisungen entschieden, welche Anweisungen unter welchen Bedingungen auszuführen sind.

      Da diese Flusssteuerungsanweisungen unmittelbar den Symbolen in einem Flussdiagramm entsprechen, zeige ich Ihnen in diesem Kapitel auch immer das Flussdiagramm zu dem besprochenen Code. Zur Einführung enthält Abb. 2–1 das Diagramm, um zu entscheiden, was zu tun ist, wenn es regnet. Folgen Sie dem Pfad entlang der Pfeile vom Anfang bis zum Ende.