<    >

Datentypen, Variablen, Listen

Die 4 grundlegenden Datentypen sind: Ganzzahl (int), Fließkommazahl (float), Zeichenkette (string) und logischer Wert (boolean).
Beispiele dafür sind: 5, 3.5, "abcdef", True oder False. Fließkommazahlen: statt "," ist unbedingt "." zu verwenden.
Variablen sind wie Behälter für Werte, die über einen Namen angesprochen werden können.
Im Beispiel unten wird der Variablen "a" der Wert 3 zugewiesen, welcher danach mit diesem Namen angesprochen werden kann. a behält dann dauerhaft diesen Wert, solange kein anderer Wert zugewiesen wird.
Achtung!: Variablennamen (gilt auch für Funktionen etc) müssen bestimmten Regeln folgen, zum Beispiel darf ein Variablenname nicht mit einer Ziffer beginnen. Was auch sehr wichtig ist:
Eine Variable darf nicht heissen wie ein Python-Schlüsselwort und auch nicht wie ein importiertes Modul (zum Beispiel 'turtle'). Leider führt das zu keiner Fehlermeldung sondern zu verwirrendem Fehlverhalten.
Listen sind Vertreter eines höheren Datentyps. Beispiel: [3, 4, 2, 1, 7]
In Listen können Vertreter aller Datentypen gleichzeitig enthalten sein, insbesondere auch Listen:
[3, 17.5, True, "alpha", [7, 9, "beta"]]
Das Beispiel unten zeigt 2 Möglichkeiten eine Liste zu durchlaufen und auf alle Werte zuzugreifen.
Die Funktion len() liefert die Länge einer Liste.
Mittels my_list[i] kann auf das i-te Element einer Liste zugegriffen werden.

Achtung!: die Zählung beginnt bei 0. my_list[0] greift also auf das erste Element zu, my_list[1] auf das zweite, ... .



        
      

Übungen

1)
my_list = [12, 3, 4, 6, 21, 7, 14, 7, 3, 9, 0]
Gib das erste das mittlere und das letzte Element aus.
Das Programm soll aber für Listen beliebiger Längen funktionieren.
Verwende dafür // (ganzzahlige Division) und int() (zur Abrundung auf ganze Zahl).

2)

my_list = [[12, 7], [2, 6, 11, 17], [16, 9, 8]]
Gib alle Werte wie folgt aus:
12
7

2
6
11
17

16
9
8
Tipp: Der Aufruf von print() erzeugt eine Leerzeile.

3)
my_list = [12, 3, 4, 6, 21, 7, 14, 7, 3, 9, 0]
Gib die Elemente der Liste verkehrt aus. (Von rechts beginnend)

4)
my_list = [12, 3, 4, 6, 21, 7, 14, 7, 3, 9, 0]
Gib das erste und danach nur jedes zweite Elemente der Liste aus: 12, 4, 21, ...
Verwende dafür // (ganzzahlige Division) und my_list[i*2]







Lösungen

#-------------------------------
# 1)
# my_list = [12, 3, 4, 6, 21, 7, 14, 7, 3, 9, 0]
# Gib das erste das mittlere und das letzte Element aus.
# Das Programm soll aber für Listen beliebiger Längen funktionieren.

my_list = [12, 3, 4, 6, 21, 7, 14, 7, 3, 9, 0]
print(my_list[0])
print(my_list[len(my_list)//2])
print(my_list[len(my_list)-1])

#-------------------------------
# 2)
# my_list = [[12, 7], [2, 6, 11, 17], [16, 9, 8]]
# Gib alle Werte wie folgt aus:
# 12
# 7
#
# 2
# 6
# 11
# 17
#
# 16
# 9 
# 8

my_list = [[12, 7], [2, 6, 11, 17], [16, 9, 8]]

for element in my_list:
    for zahl in element:
        print(zahl)
    print()

#-------------------------------
# 3)
# my_list = [12, 3, 4, 6, 21, 7, 14, 7, 3, 9, 0]
# Gib die Elemente der Liste verkehrt aus. (Von rechts beginnend)

my_list = [12, 3, 4, 6, 21, 7, 14, 7, 3, 9, 0]
for i in range(len(my_list)):
    print(my_list[len(my_list)-i-1])

#-------------------------------
# 4)
# my_list = [12, 3, 4, 6, 21, 7, 14, 7, 3, 9, 0]
# Gib das erste und danach nur jedes zweite Elemente der Liste  aus: 12, 4, 21, ...
# Verwende dafür // (ganzzahlige Division)

my_list = [12, 3, 4, 6, 21, 7, 14, 7, 3, 9, 0]
for i in range(len(my_list)//2):
    print(my_list[i * 2])
<    >