3.3 Variablen und Basisdatentypen (C, D)¶
Aufgabe 2.1¶
import ozobot
import math
ozo = ozobot.get_robot()
Geschwindigkeit = 0.1
entfernung = 0.08
rechter_winkel = math.radians(-90)
drehen = math.radians(120)
ozo.movement.move(entfernung,Geschwindigkeit)
ozo.movement.rotate(rechter_winkel, drehen)
ozo.movement.move(entfernung,Geschwindigkeit)
ozo.movement.rotate(rechter_winkel, drehen)
ozo.movement.move(entfernung,Geschwindigkeit)
ozo.movement.rotate(rechter_winkel, drehen)
ozo.movement.move(entfernung,Geschwindigkeit)
ozo.movement.rotate(rechter_winkel, drehen)
Aufgabe 2.2¶
import ozobot
import math
ozo = ozobot.get_robot()
Geschwindigkeit = 0.1*2
entfernung = 0.08/2
rechter_winkel = math.radians(-90)
drehen = math.radians(120)
ozo.movement.move(entfernung,Geschwindigkeit)
ozo.movement.rotate(rechter_winkel, drehen)
ozo.movement.move(entfernung,Geschwindigkeit)
ozo.movement.rotate(rechter_winkel, drehen)
ozo.movement.move(entfernung,Geschwindigkeit)
ozo.movement.rotate(rechter_winkel, drehen)
ozo.movement.move(entfernung,Geschwindigkeit)
ozo.movement.rotate(rechter_winkel, drehen)
Fragen:¶
Wie werden Variablen initialisiert und deklariert?¶
In Python werden Variablen durch einfache Zuweisung ohne explizite Typangabe deklariert und initialisiert. In C# muss der Datentyp der Variablen bei der Deklaration angegeben werden, bevor sie initialisiert wird.
Was unterscheidet Python hier von anderen Programmiersprachen wie z.B. C#?¶
Python zeichnet sich durch eine einfache, dynamische Typisierung und eine klar lesbare Syntax aus, die es ideal für schnelle Prototypen und Datenanalysen macht. C# hingegen bietet eine statisch typisierte, strukturierte Umgebung, die sich besonders gut für die Entwicklung leistungsstarker Anwendungen, insbesondere im Microsoft-Ökosystem, eignet.
//C# verwendet statische Typisierung --> Typen bleiben zur Laufzeit gleich
int zahl1; // Deklaration --> Name und Typ der Variable wird festgelegt
zahl1 = 10; // Initialisierung --> Der Variable wird ein Wert zugewiesen
// Das geht auch in einem Schritt
int zahl2 = 10;
#Python dynamische Typisierung --> Typen können sich zur Laufzeit ändern
# Python legt bei der Initialisierung den Datentyp selbst anhand des
# initalisierenden Wertes fest
# Hier wird die Variable zahl von Python als Integer deklariert und mit 10 initialisiert:
zahl = 10
# Der Datentyp Integer wird nun in Float umgewandelt:
zahl = 1.3
Was ist der Unterschied zwischen einer Deklaration und der Initialisierung?¶
Die Deklaration definiert eine Variable, indem sie einen Namen und einen Datentyp zuweist, ohne ihr einen Wert zu geben. Die Initialisierung weist der deklarierten Variable ihren ersten Wert zu.
Wie werden die Datentypen in Python vergeben?¶
In Python werden Datentypen automatisch basierend auf dem zugewiesenen Wert festgelegt, ohne dass der Typ explizit deklariert werden muss. Python verwendet dynamische Typisierung, sodass Variablen ihren Typ zur Laufzeit ändern können.
Wie in anderen Programmiersprachen?¶
Im Gegensatz zu Python, wo Datentypen dynamisch vergeben werden, verwenden viele andere Programmiersprachen statische Typisierung. Das bedeutet, dass der Datentyp einer Variable zur Kompilierzeit festgelegt wird und der Programmierer den Typ explizit angeben muss. Dies kann entweder durch direkte Typdeklarationen oder durch starke Typisierung erfolgen, die sicherstellt, dass der Datentyp einer Variable während der gesamten Programmausführung konstant bleibt.
Plain Text
In C# muss der Typ int bei der Deklaration angegeben werden, und der Compiler überprüft, ob die Zuweisung 10 diesem Typ entspricht. In statisch typisierten Sprachen wie C# ist der Typ der Variable vor der Laufzeit festgelegt, während Python-Typen zur Laufzeit basierend auf den zugewiesenen Werten bestimmt werden.
Datentypen in Python¶
| Datentyp | Beschreibung | Beispiel |
|---|---|---|
int |
Ganzzahl, z.B. positive oder negative ganze Zahlen | 5, -42 |
float |
Dezimalzahlen | 3.14, -0.001 |
complex |
Komplexe Zahlen | 1+2j, 3-4j |
str |
Zeichenketten (z.B. Texte) | "Hallo", 'Python' |
list |
Eine geordnete Sammlung von Elementen | [1, 2, 3], ['a', 'b', 'c'] |
tuple |
Eine unveränderliche Sammlung von Elementen | (1, 2, 3), ('a', 'b') |
dict |
Eine Sammlung von Schlüssel-Wert-Paaren | {'key1': 'value1', 'key2': 'value2'} |
set |
Eine Sammlung von einzigartigen Elementen | {1, 2, 3}, {'python', 'JavaScript'} |
bool |
Entweder True oder False | True, False |
NoneType |
Spezialtyp für den Wert, der "keinen Wert" bedeutet | None |
