Seite 1 von 1

Bitte um Hilfe ich kenn mich gar nicht aus. Programmiere erst seit zwei Wochen! Danke schon voraus

Verfasst: Samstag 19. November 2022, 15:23
von Student_neu
2.2 Netflix und Binge
Der Herbst ist da und die Tage werden kürzer – es gibt wieder Zeit für das Binge-Watchen neuer Serien! Zuallererst haben Sie sich vorgenommen, abends endlich “Stranger Things” zu schauen. Für die exakte Abendplanung möchten Sie nun wissen, wie viele und welche Episoden Sie heute schaffen.

Erforderliche Funktion: stranger_binger
Funktionsweise:
Schreiben Sie eine Funktion stranger_binger, welche drei Parameter übernimmt. Der erste Parameter seasons ist ein Dictionary, das beliebig viele Staffel-Dictionaries und in diesen wiederum die jeweiligen Episoden-Informationen als Dictionary enthält. Jedes Episoden-Dictionary enthält Informationen über den Namen der Episode (episode_name als key) und ihre Spieldauer (duration als key) in Minuten.
Die Staffeln und jeweiligen Episoden werden im seasons-Dictionary mit Ganzzahlen-keys in aufsteigender Reihenfolge von 1 bis \(n\) (=so viele es gibt) identifiziert.
Das Dictionary ist also wie folgt aufgebaut:

{
1: {
1: {
"name": "<name_1_1>",
"duration": <duration_1_1>
},
2: {
"name": "<name_1_2>",
"duration": <duration_1_2>
},

...

<m>: {
"name": "<name_1_m>",
"duration": <duration_1_m>
}
},

...

<n>: {
1: {
"name": "<name_n_1>",
"duration": <duration_n_1>
},

...
}
}
Der zweite Parameter der Funktion (start) enthält ein Tuple mit zwei Zahlen (ab hier n und m genannt). Die erste Zahl repräsentiert die Nummer der Staffel (n) und die zweite Zahl die Nummer der Episode (m) mit der Sie in dieser Binge-Session weitermachen möchten. Mit dem dritten Parameter binge_time geben Sie an, wie viel Zeit (in Minuten) sie maximal für Ihre Binge-watching-Session zur Verfügung haben.

Sie beginnen somit mit der in start angegebenen Staffel (n) und Episode (m) und sehen sich die Episoden in aufeinanderfolgender Reihenfolge bis zum Erschöpfen ihrer Zeit (binge_time) an. Nach jeder finalisierten Episode soll die noch verbleibende Zeit ausgegeben werden:

Watched Season <season_number> Episode <episode_number>: "<episode_name>", <time_left> minutes left to binge!
Falls das Schauen einer Episode ihre Zeit (binge_time) erschöpfen würde, printen Sie:

No more full episodes today! Only <time_left> minutes are left to watch, but Season <season_number> Episode <episode_number>: "<episode_name>" has <episode_duration> minutes.
und hören auf zu schauen.
Geben Sie zusätzlich die Info, wie viele Episoden Sie heute gesehen haben, in folgenden Format aus:

<num_episodes_watched> episode(s) watched today.
Wenn Sie die Serie nicht zu Ende sehen konnten, weil keine Zeit mehr blieb, geben Sie per return zurück, bei welcher Staffel und Episode Sie aufgehört haben. Diese Information soll als Tupel (<Staffelnummer>, <Episodennummer>) zurückgegeben werden. Wenn Sie alle Staffeln und Episoden sehen konnten, geben Sie stattdessen None zurück.

Beispiel:

Ein seasons-dictionary

{
1: {
1: {
"name": "The Vanishing of Will Byers",
"duration": 49},
2: {
"name": "The Weirdo on Maple Street",
"duration": 56}
},
2: {
1: {
"name": "MADMAX",
"duration": 48},
2: {
"name": "Trick or Treat, Freak",
"duration": 57},
3: {
"name": "The Pollywog",
"duration": 51}
},
}
mit start-Episode (1, 2) und einer binge_time von 142 Minuten ergibt die Ausgabe

Watched Season 1 Episode 2: "The Weirdo on Maple Street", 86 minutes left to binge!
Watched Season 2 Episode 1: "MADMAX", 38 minutes left to binge!
No more full episodes today! Only 38 minutes are left to watch, but Season 2 Episode 2: "Trick or Treat, Freak" has 57 minutes.
2 episode(s) watched today.
und gibt (2, 2) zurück.

Quelle für Daten zu den Episoden: Wikipedia

Parameter:

Name Datentyp Defaultwert Beschreibung
seasons dict Dictionary mit Staffeln, deren Episoden sowie Namen und Dauer der Episoden.
start tuple[int, int] (1, 1) Die Staffel und Episode, bei der Sie bei Ihrer letzten Binge-Session aufgehört haben. Das erste Element des Tupels ist die Staffelnummer, das zweite Element ist die Episodennummer.
binge_time int 250 Die maximale Zeit in Minuten, die Sie für Ihre Binge-Session aufwenden wollen
Return:

Datentyp Beschreibung
tuple[int, int] oder None Die Staffel und die Episode, die Sie nicht ansehen konnten, wenn Sie nicht mehr genug Zeit hatten, sonst None.

Re: Bitte um Hilfe ich kenn mich gar nicht aus. Programmiere erst seit zwei Wochen! Danke schon voraus

Verfasst: Samstag 19. November 2022, 15:31
von __deets__
Hier gibt's schon einen Kollegen, der das gleiche Problem bearbeitet: viewtopic.php?t=55842

Koennt euch ja zusammentun.

Re: Bitte um Hilfe ich kenn mich gar nicht aus. Programmiere erst seit zwei Wochen! Danke schon voraus

Verfasst: Samstag 19. November 2022, 16:41
von Kebap
Bitte um Hilfe ich kenn mich gar nicht aus. Programmiere erst seit zwei Wochen! Danke schon voraus
Welche Hilfe hättest du gerne? Soll einfach jemand deine kompletten Hausaufgaben für dich erledigen?

Re: Bitte um Hilfe ich kenn mich gar nicht aus. Programmiere erst seit zwei Wochen! Danke schon voraus

Verfasst: Sonntag 20. November 2022, 13:33
von DeaD_EyE
Hier eine fertige Lösung zu präsentieren, die dir nichts bringt und die du auch nicht verstehen wirst, wird dich zukünftig nicht in deinem Leben weiterbringen.