Python, wo ist hier der Fehler?

2 Antworten

ChatGPT, ist das bei dir gesperrt, sagt dazu, dass das grundsätzlich richtig ist, aber etwas optimiert werden kann:

def write_to_file(filename, elemente):
    with open(filename, "w") as file:
        for index, element in enumerate(elemente, start=1):
            file.write(f"Eintrag {index}: {element}\n")

filename_tiere = "tiere.txt"
elemente_tiere = ["Pinguin", "Nashorn", "Chamäleon", "Pinguin"]
write_to_file(filename_tiere, elemente_tiere)

filename_snacks = "snacks.txt"
elemente_snacks = ["Schokolade", "Chips", "Bonbons", "Kuchen", "Käsebrot"]
write_to_file(filename_snacks, elemente_snacks)

filename_farben = "farben.txt"
elemente_farben = ["blau", "gelb", "rot", "lila"]
write_to_file(filename_farben, elemente_farben) 

Ansonsten will ich nicht spekulieren was Du vielleicht als Fehler ansehen könntest.

Gruß

Woher ich das weiß:Recherche

Lukasstei22 
Fragesteller
 13.11.2023, 19:57

Erstmal danke! Mir wird bei meiner Abgabe angezeigt, dass die angegebene Datei umgeleitet werden soll

0
AldoradoXYZ  13.11.2023, 20:08
@Lukasstei22

Also bei der Abgabe mit einem Online-Tool bei dem Du deine Aufgabe abgeben sollst?
Ich habe ehrlich gesagt keine Ahnung was das bedeuten soll. An deiner Stelle würde ich nachfragen.
Beim Nachfragen kann es natürlich sein, dass deine Lösung nicht mehr pünktlich ankommt.
In dem Fall würde ich dem Lehrer eine Mail inklusive deiner Lösung schicken und darauf Hinweisen, dass Du die Fehlermeldung nicht verstehst.
Es geht ja um die Lösung der Python-Aufgabe und nicht darum das Aufgaben-Portal zu verstehen :D

Gruß und viel Erfolg

0
Lukasstei22 
Fragesteller
 13.11.2023, 20:10
@AldoradoXYZ

Vielen lieben Dank für die Rückmeldung! Werde ich dann so machen:)

0

Wo ist das Problem?

Die Dateieinträge entsprechen deinem Beispiel.


Lukasstei22 
Fragesteller
 13.11.2023, 19:54

Mir wird bei meiner Abgabe angezeigt, dass die angegebene Datei umgeleitet werden soll

0
Lukasstei22 
Fragesteller
 13.11.2023, 19:59
@NormaBlack

Woher kann dieser Hinweis kommen, dass die angegebene Datei umgeleitet werden soll? Bzw wie kann das geändert werden

0
NormaBlack  13.11.2023, 20:16
@Lukasstei22

Hab das nun auch mit Python 3.12.0 ausprobiert, läuft auch problemlos durch.
Hast du denn Schreibrechte für das Verzeichnis, wo die Dateien landen sollen?

0
Lukasstei22 
Fragesteller
 13.11.2023, 20:18
@NormaBlack

Also das sollte eine Abgabe bei Moodle sein, wo man es dann auch direkt einsetzen kann und mir dann diese Fehlermeldung mitgeteilt

0
NormaBlack  13.11.2023, 20:21
@Lukasstei22

Dann wirst du keine Schreibrechte haben. Hast du das Programm an deinem eigenen Rechner ausprobiert?

0
KarlRanseierIII  13.11.2023, 20:24
@Lukasstei22

Dann wäre es gut, wenn Du sagen würdest, wie die abgabe erfolgt udn wie die exakte vollständige Fehlermeldung lautet.

Im Kern ist Deine Lösung nämlich nich tfalsch.

0
Lukasstei22 
Fragesteller
 13.11.2023, 20:27
@KarlRanseierIII

Dort steht Fehler. Die Ausgabe soll in die angegebene Datei umgeleitet werden. Mehr wird mir dort auch nicht angezeigt.

0
NormaBlack  13.11.2023, 20:31
@Lukasstei22

Für mich ist eine Moodle-Abgabe ein Modul, wo man Dateien oder Text hochladen kann.
Oder gibt es in Moodle ein Python-Modul, wo du die Programme ausführen kannst?

0
Lukasstei22 
Fragesteller
 13.11.2023, 20:33
@NormaBlack

Ich kann es dort ausführen. Dort ist eine Überprüfung möglich. Dann folgt die Fehlermeldung

0
NormaBlack  13.11.2023, 20:36
@Lukasstei22

Vielleicht klappt es mit dem absoluten Pfad?

 def write_to_file(filename, elemente):
   import os
   absolute_path = os.path.abspath(filename)
   with open(absolute_path, "w") as file:
       for index, element in enumerate(elemente, start=1):
...
0
Lukasstei22 
Fragesteller
 13.11.2023, 20:51
@NormaBlack

Irgendwie soll es ja keine normale Ausgabe der Inhalte sein und somit auch kein Print Aufruf. Aber dann hab ich keine Ahnung wie es angegeben werden muss

0
NormaBlack  13.11.2023, 20:56
@Lukasstei22

Mit "abgeben" meine ich hochladen, also war das ein Arbeitsauftrag/Übung und du sollst nun die Lösung hochladen, damit deine Abgabe benotet wird. Dann würde ich Das Programm und die 3 Textdateien hochladen.
Oder ist das eine Übungsaufgabe für dich und du probierst rum?
Ich habe nämlich eher die Vermutung, dass du da keine Rechte hast. Die Textdatein müssen ja irgendwo im System gespeichert werden, wenn du das online ausprobierst.

0
NormaBlack  13.11.2023, 21:10
@Lukasstei22

Dann würde ich alle 4 Dateien hochladen und dazuschreiben, dass das auf dem heimischen Rechner läuft.

0
Lukasstei22 
Fragesteller
 13.11.2023, 21:14
@NormaBlack

Danke, werde ich so machen. Aber kann es sein, dass ich irgendwas falsch verstanden habe, bei der Aufgabenstellung? Die hatte ich ja ganz oben bei meiner Frage erwähnt

0