---
# System prepended metadata

title: Übung 1 - Grundlegende Datentypen

---

---
Übung 1 - Grundlegende Datentypen
---

# Aufgabe 1
> Aufgabe 1: Variablendeklaration und Operationen
> 1. Deklarieren Sie eine Variable zahl1 und weisen Sie ihr den Wert 42 zu.
> 2. Deklarieren Sie eine Variable zahl2 und weisen Sie ihr den Wert 17 zu.
> 3. Berechnen Sie die Summe von zahl1 und zahl2 und speichern Sie das Ergebnis in einer neuen Variable summe.
> 4. Berechnen Sie das Produkt von zahl1 und zahl2 und speichern Sie das Ergebnis in einer
> neuen Variable produkt.
> 5. Geben Sie sowohl die Summe als auch das Produkt aus.

```python

zahl1 = 42
zahl2 = 17

summe = zahl1 + zahl2
produkt = zahl1 * zahl2

print("Summe: " + str(summe) + " Produkt: " + str(produkt))
```

In diesem Fall handelt es sich um eine recht standardmäßige Vorgehensweise. Es werden zunächst einige Variablen festgelegt, und anschließend wird eine Reihenfolge von Multiplikationen und Additionen durchgeführt. Die Ergebnisse werden in Variablen gespeichert und können mithilfe der "print"-Funktion ausgegeben werden. Diese Funktion kann auch als eine Art Debugging-Tool verwendet werden, um eventuelle Fehler zu erkennen oder zu überprüfen. Es ist wichtig, die Ergebnisse in Zeichenketten (Strings) umzuwandeln, damit sie ordnungsgemäß als Text mithilfe der "print"-Funktion ausgegeben werden. Andernfalls würden sie als mathematische Berechnungen erkannt.

# Aufgabe 2
> Aufgabe 2: Zeichenkettenmanipulation
> 1. Deklarieren Sie eine Variable name und weisen Sie ihr Ihren Vornamen zu.
> 2. Deklarieren Sie eine Variable nachname und weisen Sie ihr Ihren Nachnamen zu.
> 3. Kombinieren Sie name und nachname zu einer vollen Namenszeichenkette und speichern Sie sie in einer neuen Variable voller_name.
> 4. Geben Sie den voller_name aus.
> 5. Zählen Sie die Anzahl der Zeichen in voller_name und geben Sie sie aus.

```python
name = "max"
nachname = "uhlmann"
voller_name = name, nachname
print(voller_name)
print("Anzahl der Buchstaben:", len(voller_name))
```

In diesem Fall werden lediglich Variablen definiert. Hierbei ist es wichtig zu beachten, dass es sich um Zeichenketten (Strings) handelt, und daher wird die Struktur "Wort" verwendet, um sie korrekt zu formatieren. Anschließend werden die Zeichenketten ausgegeben, und die Anzahl der Buchstaben in jeder Zeichenkette wird mithilfe der Funktion "len()" ermittelt, wobei die Ergebnisvariable in den Klammern übergeben wird. Man kann sich dies auch als "length" für die Länge merken.

# Aufgabe 3
> Aufgabe 3: Listenoperationen
> 1. Erstellen Sie eine Liste mit dem Namen einkaufsliste und füllen Sie sie mit vier verschiedenen Lebensmittelartikeln.
> 2. Fügen Sie ein weiteres Lebensmittel zur einkaufsliste hinzu.
> 3. Entfernen Sie ein beliebiges Lebensmittel aus der Liste.
> 4. Überprüfen Sie, ob “Milch” in der Liste ist, und geben Sie das Ergebnis aus.

```python
einkaufsliste = ["Apfel", "Birne", "Kirsche", "Banane", "Erdbeere"]
einkaufsliste.append("Mango")
einkaufsliste.remove("Banane")

def main():
    if "Milch" in einkaufsliste:
        print("Milch ist in der Einkaufsliste")
    else:
        print("Milch ist nicht in der Einkaufsliste")

print(einkaufsliste)
print("ist da Milch auf der Liste?: ")
main()

# leider klappt das folgende nicht, aber was solls.:
# appended_item = einkaufsliste.append("Mango")
# removed_item = einkaufsliste.remove("Banane")
# print("Removed item:", removed_item)
# print("Appended item:", appended_item)
```

In diesem Abschnitt erfolgt der Übergang zu den Listen. Zunächst wurde versucht zu prüfen, ob es möglich ist, die hinzugefügten oder entfernten Elemente in einer Variable zu speichern, jedoch war dies leider nicht erfolgreich. Darüber hinaus wurde eine Schleife (Loop) hinzugefügt, um zu überprüfen, ob sich das Element "Milch" bereits in der Einkaufsliste befindet. Falls dies der Fall ist, wird der Text ausgegeben, dass Milch vorhanden ist; andernfalls wird angezeigt, dass Milch nicht vorhanden ist.

# Aufgabe 4
> Aufgabe 4: Boolesche Operationen
> 1. Deklarieren Sie eine Variable ist_sonne_sichtbar und weisen Sie ihr den Wert True zu.
> 2. Deklarieren Sie eine Variable ist_regnerisch und weisen Sie ihr den Wert False zu.
> 3. Überprüfen Sie, ob die Sonne sichtbar ist und es nicht regnet. Speichern Sie das Ergebnis in gutes_wetter.
> 4. Überprüfen Sie, ob entweder die Sonne sichtbar ist oder es regnet. Speichern Sie das Ergebnis in wechselhaftes_wetter.
> 5. Geben Sie den Wert von gutes_wetter und wechselhaftes_wetter aus.

```python
ist_sonne_sichtbar = True
ist_regnerisch = False

# Hierbei ist es wichtig das not beigefügt ist, wenn nicht dann wird es trotzdem mit true ausgegeben, obwohl es ab und zu mal regnen könnte.
Gutes_Wetter = ist_sonne_sichtbar and not ist_regnerisch
print(Gutes_Wetter)

# hierbei ist die or funktion praktisch, da es nur eine der beiden variablen true sein muss, damit es true ausgibt. Wenn beides false ist, dann ist es false.
wechselhaftes_wetter = ist_sonne_sichtbar or ist_regnerisch
print(wechselhaftes_wetter)
```
In diesem Abschnitt widmen wir uns booleschen Aufgaben. Dabei ist es wichtig, den Kern des Datentyps "Bool" mit den Werten "True" und "False" zu verstehen. Es wird einfach überprüft, ob etwas wahr (True) oder nicht wahr (False) ist. In diesem Zusammenhang wurde eine Funktion erstellt, um festzustellen, ob gutes Wetter herrscht. Gutes Wetter wird definiert, wenn der Wert von "ist_sonne_sichtbar" auf True und der Wert von "ist_regnerisch" auf False gesetzt ist. In diesem Fall wird die Variable "gutes_wetter" ausgegeben.

Ebenso wird überprüft, ob wechselhaftes Wetter vorliegt. Hierbei wird überprüft, ob einer der Werte True ist, um die Variable "wechselhaftes_wetter" auszugeben.

# Aufgabe 5
> Aufgabe 5: Datentypen überprüfen
> 1. Deklarieren Sie eine Variable alter und weisen Sie ihr Ihr Alter als ganze Zahl zu.
> 2. Überprüfen Sie den Datentyp von alter mithilfe der Funktion type() und geben Sie das Ergebnis aus.
> 3. Deklarieren Sie eine Variable groesse und weisen Sie ihr Ihre Größe als Fließkommazahl zu.
> 4. Überprüfen Sie den Datentyp von groesse mithilfe der Funktion type() und geben Sie das Ergebnis aus.

```python
alter = 23
print (type(alter))

Groesse = 1.8
print (type(Groesse))
```

In diesem Abschnitt werden zunächst Variablen erstellt, und dann wird die Funktion "type" verwendet, um den Datentyp von Integer und Float nachzuweisen. Wichtig ist zu beachten, dass keine Kommazahlen (Dezimalstellen) in den Float-Variablen verwendet werden, da andernfalls das Ergebnis als sogenanntes "Tuple" ausgegeben wird.

Ein "Tuple" ist eine Art von Datentyp in Python, der eine feste, geordnete Liste von Elementen darstellt, die nicht verändert werden kann (im Gegensatz zu Listen). Ein Tuple wird durch runde Klammern () definiert, und die Elemente werden durch Kommas getrennt.

# Aufgabe 6
> Aufgabe 6: Elementare Datentypen in Python
> 1. Welche elementaren Datentypen werden in Python unterstützt? Nennen Sie mindestens fünf von ihnen und geben Sie eine Eigenschaft des Datentyps an.

Integer (int): Ganzzahlen, z. B. 1, 2, 3, -1, -2, -3
Float (float): Gleitkommazahlen, z. B. 1.0, 2.0, 3.0, -1.0, -2.0, -3.0
String (str): Zeichenketten, z. B. "Hallo Welt!", "123", "-4.5"
Boolean (bool): Wahrheitswerte, z. B. True, False
NoneType (None): Der Wert None, der angibt, dass eine Variable keinen Wert hat
Byte (byte): Folge von Bytes, z. B. b"Hallo Welt!"

> 2. Erklären Sie den Unterschied zwischen den Datentypen int und float in Python. Geben Sie jeweils ein Beispiel für eine gültige Variable für jeden dieser Datentypen an.

Der Unterschied zwischen den Datentypen int und float in Python besteht darin, dass int ganze Zahlen und float Kommazahlen darstellen.

Integer (int): Ganzzahlen, z. B. 1, 2, 3, -1, -2, -3
Float (float): Gleitkommazahlen, z. B. 1.0, 2.0, 3.0, -1.0, -2.0, -3.0

Beispiel für eine gültige Variable für den Datentyp int:
```Python
a = 1
```

Beispiel für eine gültige Variable für den Datentyp float:

```Python
b = 1.0
```

Info: Kann man in Aufgabe 5 wieder sehen.

> 3. Was ist der Unterschied zwischen den Zeichenketten-Datentypen str und bytes in Python?

Der Unterschied zwischen den Zeichenketten-Datentypen str und bytes in Python besteht darin, dass str Unicode-Zeichenketten und bytes Byte-Zeichenketten darstellen.

str (str): Unicode-Zeichenketten, z. B. "Hallo Welt!", "123", "-4.5"
bytes (bytes): Byte-Zeichenketten, z. B. b"Hallo Welt!", b"123", b"-4.5"

**Unicode-Zeichenketten**

Verwenden Unicode-Zeichen, die in verschiedenen Sprachen verwendet werden können.
Können nicht mit ASCII-Zeichenketten verwendet werden.

**Byte-Zeichenketten**

Verwenden ASCII-Zeichen, die in der englischen Sprache verwendet werden.
Können mit ASCII-Zeichenketten verwendet werden.

> 4. Welcher elementare Datentyp wird verwendet, um Wahrheitswerte in Python darzustellen? Wie lauten die beiden möglichen Werte für diesen Datentyp?

Der elementare Datentyp bool wird verwendet, um Wahrheitswerte in Python darzustellen. Die beiden möglichen Werte für den Datentyp bool sind True und False.

Beispiel für eine Variable des Datentyps bool kann man in der Aufgabe 4 sehen.

> 5. Wie können Sie in Python einen Zeilenumbruch in einer Zeichenkette (String) darstellen?

In Python können Sie einen Zeilenumbruch in einer Zeichenkette mit der Escape-Sequenz \n darstellen.

Beispiel:

```Python
print("Hallo\nWelt!")
```
Ausgabe:
```bash
Hallo
Welt!
```

Alternativ geht es auch mit:

```python
print("""Du hast die Wahl zwischen 

einem weisen Magier(1) 
einem mächtigen Krieger(2), 
einem flinken Bogenschützen(3)   
einem unbekannten Bettler(4)

Um zu beginnen gib mir eine Zahl zwischen 1 und 4! """)
```

Man kann auch statt " auch das zeichen ' benutzen.

> 6. Wie können Sie den Wert None in Python verwenden, und welchen Datentyp repräsentiert er?

Der Wert None in Python repräsentiert den Wert "nichts". Er kann verwendet werden, um anzugeben, dass eine Variable keinen Wert hat.

Beispiel:
```python
Python
a = None
```

> 7. Welchen elementaren Datentyp würden Sie verwenden, um eine einzelne Zeichenkette (String) darzustellen? Welche Methode könnten Sie verwenden, um Zeichen in einer Zeichenkette zu zählen?

Um eine einzelne Zeichenkette darzustellen, würde ich den elementaren Datentyp str verwenden. Der Datentyp str stellt eine Folge von Unicode-Zeichen dar.

Um Zeichen in einer Zeichenkette zu zählen, könnte ich die Methode len() verwenden. Die Methode len() gibt die Länge einer Zeichenkette zurück, also die Anzahl der Zeichen in der Zeichenkette. Als Beispiel kann man sich die Aufgabe 2 ansehen.

> 8. Was ist der Unterschied zwischen dem Datentyp bool und dem Datentyp int in Bezug auf ihre Verwendung als Boolesche Werte?

Der Unterschied zwischen dem Datentyp bool und dem Datentyp int in Bezug auf ihre Verwendung als Boolesche Werte besteht darin, dass der Datentyp bool nur die Werte True und False annehmen kann, während der Datentyp int auch andere Werte annehmen kann.

bool

* Kann nur die Werte True und False annehmen
* Wird verwendet, um Wahrheitswerte darzustellen

int

* Kann alle ganzen Zahlen annehmen, einschließlich negativer Zahlen
* Wird verwendet, um Zahlen darzustellen

Der Datentyp bool sollte verwendet werden, um Wahrheitswerte darzustellen. Der Datentyp int sollte verwendet werden, um Zahlen darzustellen.