Seite 1 von 1

Hilfe beim Umrechner

Verfasst: Dienstag 4. April 2023, 13:20
von Sülo
Hallo ihr Lieben, ich schreibe demnächst eine Klausur in Informatik und bin am lernen leider hänge ich jetzt an einer Aufgabe die Wahrscheinlich nicht in der Klausur vorkommt, ich die jetzt jedoch trotzdem lösen möchte:
Die Frage:

Eine Meile entspricht ca. 1.6 km. Schreiben Sie eine Funktion, die einen Meilenwert als Argument erwartet und diesen in Kilometer umrechnet und als Rückgabewert zurück gibt. Verwenden Sie den angegebenen Faktor und nennen Sie diese Funktion m2k.
Wichtig: Schreiben Sie nur die Funktion und rufen Sie diese nicht selber auf, das erledigt CodeRunner beim Überprüfen im Hintergrund!
Zum Beispiel: Test - m2k(4) Ergebnis - 6.4

Jetzt habe ich folgendes

Code: Alles auswählen

def m2k(Meilen):
	km = Meilen * 1.6
	return km
Meilen = int(input('Geben Sie die Meilen an: '))
km = m2k(Meilen)
print("Der Umgerechnete Wert sind: " + str(km),"KM")
Als Antwort wenn ich 4 eingebe bekomme ich die 6.4 soweit so gut
Lasse ich das jetzt aber über Moodle im Aufgabenfeld laufen kommt als eine Fehlermeldung das es Falsch ist und die Fehlermeldung kommt:

***Laufzeitfehler***
Traceback (most recent call last):
File "__tester__.python3", line 4, in <module>
Meilen = int(input())
EOFError: EOF when reading a line

Liegt das jetzt an dem was ich gemacht habe oder an Moodle??
Wäre nett wenn mir da jemand Bescheid sagen könnte:)

Vielen Dank und liebe Grüße

Re: Hilfe beim Umrechner

Verfasst: Dienstag 4. April 2023, 13:31
von Sirius3
Was verstehst Du an
Wichtig: Schreiben Sie nur die Funktion und rufen Sie diese nicht selber auf, das erledigt CodeRunner beim Überprüfen im Hintergrund!
nicht?

Eingerückt wird immer mit 4 Leerzeichen pro Ebene, keine Tabs.
Variablennamen schreibt man generell komplett klein.
`m2k` ist ein besonders schlechter Variablenname, weil er nur aus cryptischen Buchstaben besteht, beim Lesen einer Funktion sollte gleich klar sein, was die macht,
gute Namen wären convert_miles_to_kilometers.
Zahlenwerte sollten nicht einfach so im Code vorkommen, sondern am Anfang der Datei als Konstanten definiert werden.
`km` ist eine überflüssige Variable, weil man den Wert gleich per `return` zurückgeben kann.
Strings stückelt man nicht mit + zusammen sondern benutzt Formatstrings.
Die Einheit ist "km" nicht "KM"

Code: Alles auswählen

MILE_IN_KM = 1.6

def convert_miles_to_kilometers(miles):
    return miles * MILE_IN_KM 
	return km
m2k = convert_miles_to_kilometers # for the test framework

def main():
    miles = int(input('Geben Sie die Meilen an: '))
    km = convert_miles_to_kilometers(miles)
    print(f"Der Umgerechnete Wert ist: {km} km")

if __name__ == "__main__":
    main()

Re: Hilfe beim Umrechner

Verfasst: Dienstag 4. April 2023, 13:39
von Sülo
Sirius3 hat geschrieben: Dienstag 4. April 2023, 13:31 Was verstehst Du an
Wichtig: Schreiben Sie nur die Funktion und rufen Sie diese nicht selber auf, das erledigt CodeRunner beim Überprüfen im Hintergrund!
nicht?

Das steht bei jeder Aufgabe jedoch können wir Studenten trotzdem durch Prüfen feststellen ob der Code richtig ist oder falsch. Also bei den anderen 10 Aufgaben davor ging es und haben dann auch ein Feedback bekommen das es richtig ist
def convert_miles_to_kilometers(miles):
return miles * MILE_IN_KM
return km
m2k = convert_miles_to_kilometers # for the test framework

def main():
miles = int(input('Geben Sie die Meilen an: '))
km = convert_miles_to_kilometers(miles)
print(f"Der Umgerechnete Wert ist: {km} km")

if __name__ == "__main__":
main()[/code]
Das habe ich mal genau so rauskopiert und eingefügt bei Moodle, kommt der gleiche Fehler.
Ich denke mal das liegt dann an Moodle.

Re: Hilfe beim Umrechner

Verfasst: Dienstag 4. April 2023, 14:00
von kbr
Nein, das liegt nicht an Moodle.

Re: Hilfe beim Umrechner

Verfasst: Dienstag 4. April 2023, 14:15
von Sülo
Okay Hab es jetzt :D:D Einfacher als gedacht:

Code: Alles auswählen

def m2k(x):
	m=float(x)*1.6
	m=formate(m, ‘.1f‘)
	print(m)

Re: Hilfe beim Umrechner

Verfasst: Dienstag 4. April 2023, 14:27
von grubenfox
also wenn das der kompletter Code, der immer noch zur ursprünglichen Aufgabenstellung gehört, und der jetzt von CodeRunner als OK bewertet wird, dann liegt das nun an CodeRunner bzw Moodle.
Da fehlt nämlich die Rückgabe vom Rückgabewert.

Re: Hilfe beim Umrechner

Verfasst: Dienstag 4. April 2023, 14:44
von Sirius3
Da sind wir jetzt aber Meilenweit von der eigentlichen Aufgabenbeschreibung weg und auch von gutem Pythonprogrammieren.

Re: Hilfe beim Umrechner

Verfasst: Dienstag 4. April 2023, 14:45
von __blackjack__
Das läuft so ziemlich sicher nicht, beziehungsweise in einen `NameError` weil `formate()` nicht bekannt ist.