Übungen Thema 2

Aufgaben

Aufgaben zum Thema.

Aufgabe 2.1: Variablen deklarieren

Erstellen Sie ein Skript, welches die folgenden Variablen und Werte deklariert:

  • Variable pi mit Wert 3.1415926535
  • Variable erdumfang_km mit Wert 40075

Geben Sei zu jeder Variable den Variablentyp aus. Entsprechen die Datentypen ihren Erwartungen?

Variablen.pyopen in new window

Aufgabe 2.2: Zufall

Generieren Sie eine Zufallszahl vom Typ float im Bereich von 1.0 bis 10.0.

TIP

Die Python Dokumentation bietet zu allen Module Informationen. Hier der Link zum Random-Modul: random / Generate pseudo-random numbersopen in new window

Verwenden Sie die uniform-Funktion für diese Aufgabe.

from random import uniform

Zufall.pyopen in new window

Aufgabe 2.3: Runden

Runden Sie die generierte Zahl aus Aufgabe 2.2 auf 3 Stellen nach dem Komma.

Round.pyopen in new window

Aufgabe 2.4: Modulo

Fragen Sie den Benutzer nach einer ersten und einer zweiten Zahl. Geben Sie den Restwert einer Division der ersten durch die zweite Zahl aus.

Modulo.pyopen in new window

Aufgabe 2.5: Ungleich

Führen Sie das folgende Programm aus:

a = True
b = 1
print(a == b) # Ausgabe: True
print(a is b) # Ausgabe: False

Warum sind sind die Werte im ersten Fall gleich und im zweiten Fall nicht?

Der Operator `is` vergleich nicht den Wert wie `==`, sondern die Adresse im RAM-Speicher.

Wiederholungsfragen

W1: Der folgende Code löst einen Fehler aus. Warum?

x=1; y=2
print(x+y+z)
Jeder Python-Variablen muss ein Wert zugewiesen werden, bevor Sie ausgewertet werden kann. Das war bei z nicht der Fall. Es gibt keinen Defaultzustand (etwa 0). So funktioniert der Code:
x=1; y=2; z=0  
print(x+y+z)

W2: Welchen Typ hat die Variable i nach der Zuweisung i=3?

In Python haben Variablen keinen Typ! Nach i=3 zeigt i auf ein Objekt mit der ganzen Zahl 3. Dieses Objekt (nicht die Variable) hat also den Typ int. Dementsprechend liefert type(i) das Ergebnis class 'int'. Allerdings kann bereits in der nächsten Anweisung i='abc' ausgeführt werden. Dann zeigt i auf ein Objekt mit einer Zeichenkette.

W3: Welche Werte gibt das folgende Programm aus?

a = 'abcde'
b = a
a = a+'fg'
print(b)
Das folgende Programm endet mit der Ausgabe abcde. Die Zeichenketten, auf die a und b verweisen, sind voneinander unabhängig, weil es sich beim str-Typ um einen unveränderlichen Datentyp handelt (immutable). Die Veränderung von a hat daher keinen Einfluss auf b.
a='abcde'  
b=a  
a=a+'fg'  
print(b)  
  abcde

W4: Der folgende Code ist fehlerhaft. Warum? Wie könnte eine Lösung aussehen?

n=22.7
msg='Die Temperatur beträgt ' + n + ' Grad.'
Python führt nur in Ausnahmefällen eine automatische Typumwandlung durch. Der Code aus der Wiederholungsfrage versucht, eine Zeichenkette und eine Zahl zu verbinden. Das ist in Python nicht zulässig. Die Fehlermeldung lautet unsupported operand, weil der Operator + nicht eine Zahl und eine Zeichenkette verarbeiten kann. Eine mögliche Lösung besteht darin, die Zahl mit der str-Funktion explizit in eine Zeichenkette umzuwandeln:
msg='Die Temperatur beträgt ' + str(n) + ' Grad.'

W5: Wie führen Sie eine ganzzahlige Division durch?

Ganzzahlige Divisionen werden mit dem Operator // durchgeführt. 12//7 ergibt 1.

W6: Welchem Zahlenwert ist True zugeordnet?

Wenn True in eine ganze Zahl umgewandelt wird, hat der Zustand den Wert 1:
print(int(True))  
  1

W7: Sie wollen den Rest der Division 225 / 17 ermitteln. Wie gehen Sie vor?

Den Rest der Division 225 / 17 ermitteln Sie mit dem %-Operator:
print(225 % 17) # Ergebnis 4

Mehr zum Thema