Lösungen#

Aufgabe 1#

  • Erstelle zwei leere Listen namens gruppe1 und gruppe2.

gruppe1 = []
gruppe2 = []

print(gruppe1, gruppe2)
[] []

Aufgabe 2#

  • Füge in gruppe1 die Zahlen 4, 6 und 8 mittels der Funktion append() hinzu.

gruppe1.append(4)
gruppe1.append(6)
gruppe1.append(8)

print(gruppe1)
[4, 6, 8]

Aufgabe 3#

  • Füge in gruppe2 die Zahlen 1, 3 und 8 mittels der Funktion insert() oder der Funktion extend() hinzu.

gruppe2.extend([1, 3, 8])

print(gruppe2)
[1, 3, 8]

Aufgabe 4#

Jede Zahl in den Listen gruppe1 und gruppe2 steht jeweils für einen Agenten bzw. die Meinung eines Agenten auf einer Skala von 0 bis 10.

  • Berechne jeweils die durchschnittliche Meinung der Gruppe und speichere diese unter beliebigen Variablennamen ab. Tipp: Die Funktionen sum() und len()können dir dabei behilflich sein.

mean_gruppe1 = sum(gruppe1) / len(gruppe1)
mean_gruppe2 = sum(gruppe2) / len(gruppe2)

print("Durchschnitt Gruppe 1:", mean_gruppe1, "Durchschnitt Gruppe 2:", mean_gruppe2)
Durchschnitt Gruppe 1: 6.0 Durchschnitt Gruppe 2: 4.0

Aufgabe 5#

  • Lasse dir den Wert des ersten Agenten aus gruppe1 mittels Listenindizierung ausgeben.

gruppe1[0]
4

Aufgabe 6#

Der erste und der zweite Agent aus gruppe2 unterhalten sich. Der erste Agent überzeugt den zweiten Agenten. Dadurch verändert sich die Meinung des zweiten Agenten. Die Meinung des zweiten Agenten setzt sich nun zu 60% aus dessen ursprünglicher Meinung und zu 40% aus der Meinung des ersten Agenten zusammen.

  • Berechne die neue Meinung des zweiten Agenten aus gruppe2. Verwende während den Berechnungen Listenindizierung. Achte darauf, dass du keinen Agenten aus gruppe1 überschreibst!

gruppe2[1] = gruppe2[1] * 0.6 + gruppe2[0] * 0.4

print(gruppe2)
[1, 2.1999999999999997, 8]

Aufgabe 7#

Dem dritten Agenten aus gruppe2 wird es in gruppe2 zu bunt, weshalb er in gruppe1 überwechseln möchte.

  • Füge mit einem beliebigen Vorgehen den dritten Agenten aus gruppe2 an der ersten Position (!) von gruppe1 ein und lösche diesen aus gruppe2.

gruppe1.insert(0, gruppe2[2])

del(gruppe2[2])

print(gruppe1)
print(gruppe2)
[8, 4, 6, 8]
[1, 2.1999999999999997]

Aufgabe 8#

  • Erstelle eine Gesamtliste population, welche alle Agenten aus gruppe1 und gruppe2 enthält.

population = []
population.extend(gruppe1)
population.extend(gruppe2)

print(population)
[8, 4, 6, 8, 1, 2.1999999999999997]

Was auch gehen würde:

population = gruppe1 + gruppe2

print(population)
[8, 4, 6, 8, 1, 2.1999999999999997]

Aufgabe 9#

  • Speichere die ersten 5 Agenten der Liste population in einer Liste namens first_five_agents. Verwende dabei Slicing.

first_five_agents = population[0:5]

print(first_five_agents)
[8, 4, 6, 8, 1]

Aufgabe 10#

Angenommen wir wollen per Indizierung auf das letzte Element einer Liste zugreifen, wissen aber zunächst nicht, wie viele Elemente sich in der Liste befinden.

  • Welche zwei Lösungswege fallen dir ein, um auf das letzte Element einer Liste zuzufgreifen?

Möglichkeit 1: Das letzte Element ist immer über den Index -1 zu finden

population[-1]
2.1999999999999997

Möglichkeit 2: Wir könnten zunächst die Länge der Liste mittels len() messen und dann 1 von der Länge abziehen

population[len(population)-1]
2.1999999999999997

Möglichkeit 3: Mit der Methode pop() bekommen wir das letzte Element ausgegeben, allerdings wird es dann auch aus der Liste entfernt

population.pop()
2.1999999999999997
print(population)
[8, 4, 6, 8, 1]