Hallo,
Zu deinem Problem, wie entsteht denn:
?
Ist dass das 'Decimal' aus 'decimal'? Was soll es denn für ein Datentyp sein, wenn dich das stört? Wieso ist das Decimal wenn du es in deinem Vergleich in 'float' wandelst?
zu deinem Code: Wieso das 'range'? (0 ist der default-Wert, du kannst einfach 'range(3)' schreiben) Du könntest doch einfach über 'primzahlen' iterieren? Wenn du den Index unbedingt brauchst für die Prüfung von 'eingabe' dann kann dir 'enumerate' helfen.
Wobei man auch die Listen mit 'zip' verbinden könnte und für den Index in deiner 'rueckmeldung' könnte man enumerate noch verwenden. Dabei kannst du auch angeben, dass bei 1 anstatt bei 0 begonnen wird, dann spart du dir die +1.
Strings formatiert man eher mit 'f'-Strings.
Das könnte dann so aussehen:
Code: Alles auswählen
primzahlen = [3, 5, 7]
for index, (primzahl, eingabe, loesung) in enumerate(zip(primzahlen, eingaben, loesungen), 1):
if eingabe is None:
rueckmeldung.append(f'{index}. Eintrag leer')
elif float(loesung.replace(",", ".")) == float(eingabe):
punkte += primzahl
else:
rueckmeldung.append('f{index}. Eintrag falsch')
Grüße
Dennis
P.S. Sorry die vielen Rückfragen, habe dein ganzes Projekt nur am Rande verfolgt.