Rollen vergeben

* For-Schleifen gibt es nur in einer Aufgabe.

Aufgabe

In dieser Aufgabe nehmen wir an, dass wir mit einem Discord-Bot Rollen verteilen wollen.
Hierbei ist das Ziel möglichst keine unnötigen Add- und Delete-Operationen durchzuführen.

Am Ende jeder Teilaufgabe sollen Sie die Ergebnis-Sets auf dem Terminal ausgeben.

Die Liste aller Rollen sei gegeben als:

available_roles_list = ["everyone", "Mitglied", "Ersti", "gaming", "memes", "LuDS", "TI", "ItSi", "SusProg"]
1.

Wandeln Sie die Liste in ein Set um, um damit effizienter arbeiten zu können.
Speichern Sie das Set in der Variable available_roles_set.

2.

Geben Sie mithilf einer For-Schleife alle Elemente vom Set aus.

Fällt Ihnen etwas auf?

Verwenden Sie in den nachfolgenden Aufgaben möglichst keine For-Schleife.

3.

Der Server Admin SleepyChris hat vergessen die "AlPro" zur Menge der verfügbaren Rollen hinzuzufügen.
Retten Sie seien Bot, indem Sie die Rolle noch zur Menge hinzufügen!

4.

Der Bot erhält die gewählten und bereits gegebenen Rollen eines Mitglieds als Sets:

vorhanden_roles = {"everyone", "Mitglied", "AlPro", "LuDS"}
gewaehlt_roles = {"everyone", "Mitglied", "AlPro", "LuDS", "TI"}

Finden Sie durch das Nutzen der Set-Operationen heraus, welche Rollen das Mitglied neu erhalten soll.

Hinweis: Sie benötigen zum Lösen der Aufgabe keine Schleife.

5.

Der Bot erhält nun diese Sets:

vorhanden_roles = {"everyone", "Mitglied", "Ersti", "AlPro"}  
gewaehlt_roles = {"everyone", "Mitglied", "AlPro", "LuDS", "TI"}

Finden Sie für den Bot heraus welche Rollen das Mitglied erhalten soll und welche Rollen der Bot dem Mitglied entziehen muss, damit es nur noch die Rollen besitzt, welches vom Mitglied gewählt wurden.

6.

SleepyChris ist aufgefallen, dass es kein Modul namens SusProg an dieser Uni gibt.
Helfen Sie ihm dabei das Modul aus der Menge aller verfügbaren Rollen (available_roles_list) zu entfernen.

7.

Der arme Bot hat Schluckauf und hat daher das Set der gewählten Rollen eines Mitglieds verloren.

Sie erhalten aber die Info, dass das Mitglied alle Rollen gewählt hat und bislang nur über diese Rollen verfügt:

vorhanden_roles = {"everyone", "Mitglied", "Ersti"}

Nutzen Sie Ihr Wissen über alle verfügbaren Rollen, um herauszufinden, welche Rollen ihr Bot noch vergeben soll.

8.

Ein verwirrter Nutzer hat versucht sich die Rolle Oatly zu holen.
Der Bot ist verwirrt und fragt sich, ob es ein solches Modul gibt.
Helfen Sie dem Bot herauszufinden, ob sich eine Rolle mit diesem Namen in den verfügbaren Rollen befindet. Geben Sie die Antwort auf dem Terminal aus.

Tipp 1: Was sind Sets

Achtung Spoiler!

Tipp 2: Sets erstellen

Achtung Spoiler!

Tipp 3: Set-Operationen

Achtung Spoiler!

Tipp 4: Abfrage ob etwas in etwas ist

Achtung Spoiler!