At My Fingertips

Documentation

Rechnen und Datentypen, Argumente und Funktionen

In der Programmiersprache Python kann man auch rechnen.

Um Zahlen und Buchstaben (Zeichen oder characters) auszugeben, verwendet man in Python meist die Funktion print. Führen Sie folgende zwei Zellen aus:

Loading...
Loading...

In der ersten Zelle wird der Funktion print eine Zahl (int oder Integer), als Argument übergeben. print gibt diese Zahl aus, sobald man die Zelle ausführt.

In der zweiten Zelle wird Text (umgeben von Gänsefüsschen "...") als Argument der Funktion print übergeben. Die Gänsefüsschen markieren den Inhalt als Text, im Fachjargon str oder String.

Im Moment werden die Argumente noch genau so ausgegeben, wie sie print übergeben wurden.

Rechenoperatoren I

Mit der Funktion print kann man aber auch rechnen, zum Beispiel

print(1 + 2)
print(1 - 2)
print(1 / 2)
print(3 * 2)

Lösung (ausführbar):

Loading...

Strings als Argument

Sobald man mehrere print-Funktionen untereinander auflistet, ist es oft sinnvoll, mit einem zusätzlichen Argument die Ausgabe anzuschreiben:

Loading...

Das erste Argument, in der Klammer und vor dem Komma, ist mit Gänsefüsschen "..." umgeben, damit es hier unverändert der print-Funktion übergeben wird und beim Ausführen des Programms ausgegeben wird. Es ist damit als str oder String markiert, also als Text, nicht als Zahl, mit der gerechnet werden soll.

Loading...
Klicken Sie auf das Dreieck links, um die Lösungen anzuzeigen.
print("1 / 2 =", 1 / 2)
print("3 * 2 =", 3 * 2)
  • vierzehn mal fünfzehn
  • dreizehn minus neunundneunzig
  • sieben dividiert durch minus drei
  • acht Komma fünf und achtundachtzig Komma siebzehn
Loading...

Argumente und Funktionen

Eine Funktion hat meist die Form eines Worts gefolgt von einem Klammerpaar. In den Klammern können Argumente stehen:

print(15+13)
show_graphic(blume)
show_graphic(rectangle(10, 20, blue))
above(kopf, ellipse(5, 6, green))
addiere(19.45, 190.1, 1 / 3)
warte()
beside(links, rechts)

etc.

Wenn Argumente in den Klammern einer Funktion stehen, sagt man, dass die Argumente der Funktion übergeben werden.

Argumente in den Klammern sind kommagetrennt. Beispiel:

show_graphic(rectangle(10, 20, blue))
  • Der Funktion rectangle(10, 20, blue) werden drei Argumente übergeben:
    • 10
    • 20
    • blue
  • Der Funktion show_graphic wird ein Argument übergeben:
    • rectangle(10, 20, blue)

Abhängig von der Definition einer Funktion können 0 bis unendlich viele Argumente übergeben werden. Beispielsweise ist print flexibel, above jedoch benötigt genau zwei Argumente.

print()
print("null")
print(0, "eins")
print("null", 1, "zwei")
print(0, "eins", "zwei", 3)
print("null", 1, 2, "drei", 4)
print("null", 1 + 2, "drei", 4, "fünf")
print("null", 1 + 2, "drei", "vier, fünf + 6")

etc.

Rechenoperatoren II

Anzahl Argumente für jeden Aufruf

  • 0: print()
  • 1: print("null")
  • 2: print(0, "eins")
  • 3: print("null", 1, "zwei")
  • 4: print(0, "eins", "zwei", 3)
  • 5: print("null", 1, 2, "drei", 4)
  • 5: print("null", 1 + 2, "drei", 4, "fünf")
  • 4: print("null", 1 + 2, "drei", "vier, fünf + 6")

Argumente werden kommagetrennt in den Klammernpaaren aufgerufen. Spezialfälle:

  1. 1 + 2 ist also ein Argument und nicht zwei, da die zwei Zahlen addiert werden, bevor sie als Argument der print-Funktion übergeben werden.
  2. "vier, fünf + 6" ist auch ein Argument, obwohl es ein Komma beinhaltet. Der Grund sind die Gänsefüssen. Alles, was von Gänsefüsschen umgeben ist, ist ein String, egal ob dies ein Komma, eine Klammer oder das Wort print() ist.
Loading...
Klicken Sie auf das Dreieck links, um die Lösungen anzuzeigen.
  • / -> normale Division, das Resultat ist einigermassen genau, also mit Nachkommastellen.
  • // -> ganzzahlige Division, das Resultat ist auf das nächstkleinere ganzzahlige Resultat abgerundet.

int und float

Python unterscheidet zwei Zahlentypen: die mit Nachkommastellen und die ohne.

Floating-point number oder float ist eine Gleitkommazahl und hat als solche immer ein Komma, respektive das englische Äquivalent, den Punkt:

15.67
0.
0.0
.2
-132401256.1987
0.00001351
1083561805608315.132515

Integer oder int ist eine Ganzzahl und hat als solche weder Kommas noch Nachkommastellen:

0
18
-100975
2
12095139183276

Rechenoperatoren III

Loading...
Klicken Sie auf das Dreieck links, um die Lösungen anzuzeigen.
  • * -> normale Multiplikation
  • ** -> Potenz. Die Zahl vor ** ist die Basis, die Zahl danach die Potenz.

Anwendung

0. 15 ? 1.0 = 14.0
1. -1 ? 17 = -17
2. 5 ? 2 = 25
3. 5 ? 2 = 10
4. 128 ? 2 = 64.0
5. 128 ? 2 = 64
6. -15 ? 23 = 8
7. -14.1 ? 7.1 = -21.2
8. (5 ? 3) ? 5 = 130
9. (99 ? 9) ? (3 ? 3) = 10
Loading...
Lösungen 0-4
print("0. 15 - 1.0 =", 15 - 1.0)
print("1. -1 * 17 =", -1 * 17)
print("2. 5 ** 2 =", 5 ** 2)
print("3. 5 * 2 =", 5 * 2)
print("4. 128 / 2 =", 128 / 2)
Lösungen 5-9
print("5. 128 // 2 =", 128 // 2)
print("6. -15 + 23 =", -15 + 23)
print("7. -14.1 - 7.1 =", -14.1 - 7.1)
print("8. (5 ** 3) + 5 =", (5 ** 3) + 5)
print("9. (99 - 9) // (3 * 3) =", (99 - 9) // (3 * 3))
Loading...
Lösung 25
print(25 ** (1/2))
# oder mit einem Importbefehl aus der math-Bibliothek:
from math import sqrt
print(sqrt(25))
Lösung 64
print(64 ** (1/2))
Lösung 17
print(17 ** (1/3))

% ist in vielen Programmiersprachen ein wichtiger Operator für die Operation Modulo. Schauen Sie sich die Beispiele an und finden Sie heraus, was der Operater % berechnet:

Loading...
Loading...
Loading...
Lösung %

% Modulo berechnet den Rest einer ganzzahligen Division, z. B.

  • 1 // 2 ergibt 0 Rest 1
  • 12 // 6 ergibt 2 Rest 0
  • 15 // 6 ergibt 2 Rest 3

Stringoperationen

print(34 + 2)
print(34.0 + 2)
print("34" + "2")

Überprüfen Sie:

Loading...

Mit "..." markierte Zeichenfolgen sind Text und werden von Python unhinterfragt als solche behandelt. Eine Stringaddition hängt also zwei Strings zusammen, eine sogenannte Konkatenation oder Verkettung.

print("a" + "b")
print(1 + 2)
print("1" + 2)
print("1" + "2")
print("1" + str(17+2))

Überprüfen Sie einzeln:

Loading...

Eine Verkettung ist also nur zwischen zwei Strings möglich, Vermischungen mit anderen Datentypen sind nicht erlaubt (in Python). Dies kann man umgehen, indem man Zahlen-Literalen mit "..." umgibt oder indem man eine Zahl oder Variable mit dem Konversionsbefehl str in einen String verwandelt.

print("ab" - "b")
print("a" * 3)
print("a" * "3")
print("a" * 3.4)
print("a" / 2)

Überprüfen Sie einzeln:

Loading...

Erlaubte Operationen mit Strings sind also nur * und +.

Multiplikation ist genau dann erlaubt, wenn ein String mit einer Ganzzahl multipliziert wird.

Eine Addition, oder Verkettung, ist genau zwischen Strings erlaubt, andere Datentypen müssen zuerst mit dem Konversionsbefehl str in Strings verwandelt werden. Z. B. str(17.98) -> "17.89.

Übrigens kann man auch Ziffern, die als String dargestellt werden, mit int("123") in eine int-Zahl verwandeln.

  1. Bestimmen Sie Ausgabe von jeder Zeile, korrigieren Sie wo nötig, bevor Sie in der Codezelle überprüfen.

Beispiel

14 + "2" -> 142
# Lösung
print(str(14) + "2") # Ausgabebefehl; nur Strings können miteinander verkettet werden
15 + 14 + "14" -> 2914
8.0 * "5" -> 55555555
25 / 5 * "hi" -> hihihihihi
"Hello" + " World" -> Hello World!
  1. Geben Sie 100 Eins-Nullen (10101010...) mit möglichst wenig Code (effizient) aus. Verwandeln Sie zudem das Resultat von einem String in eine Ganzzahl.
Loading...
Lösung für 15 + 14 + "14" -> 2914
str(15 + 14) + "14"
Lösung für 8.0 * "5" -> 40
8 * "5"
Lösung für 25 / 5 * "hi" -> hihihihihi
25 // 5 * "hi"
Lösung für "Hello" + " World" -> Hello World!
"Hello" + " World" + "!"
Lösung für 100 Eins-Nullen
int(100 * "10")

Was Sie gelernt und geübt haben

Programmierkonzepte

  • Sie können Funktionen und Argumente erkennen, in eigenen Worten beschreiben und verwenden.
  • Sie können Datentypen sinnvoll einsetzen.

Python

  • Sie können die Funktion print mit verschiedenen Argumenten benutzen.
  • Sie kennen die Rechenoperatoren + - / * // ** % und können sie verwenden.
  • Sie kennen die Datentypen str, int, float und können diese mit verschiedenen Operatoren verwenden.
  • Sie können mit dem Konversionsbefehl str Zahlen in Strings verwandeln.

PyTamaro

  • (nichts)

This activity has been created by Gall and is licensed under CC BY-SA 4.0.

Rechnen und Datentypen, Argumente und Funktionen

Logo of PyTamaro

PyTamaro is a project created by the Lugano Computing Education Research Lab at the Software Institute of USI

Privacy PolicyPlatform Version 1cd5229 (Tue, 05 Nov 2024 16:55:57 GMT)