__deets__ hat geschrieben:hallo,
Und noch eine abschliessende Bemerkung: man vergleicht nicht mit "== True" - das ist naemlich doppelt-gemoppelt. Stattdessen genuegt ein einfach "if str(ergteilen).isdigit(int)" bzw. "if not str(ergteilen).isdigit(int)" wenn man auf das Gegenteil pruefen will.
Da widerspreche ich, gerade bei einem Neuling. Ich rate dir, @granpatomic, es immer korrekt und voll auszuschreiben. Wenn du später mal in deinen Code guckst, dann ist "if str(ergteilen).isdigit(int)" ganz klar undeutlicher und missverständlicher als "if str(ergteilen).isdigit(int) == True". Bei einem Neuling würde ich sogar raten, Zuweisungen (denn das steckt implizit dahinter) und Test zu splitten. Wenn du schon Tipperei sparen willst, dann spare lieber an unnötigen Umwandlungen. Eine simple und hübsche Möglichkeit ist auch, das Problem ganz anders anzugehen , nämlich
Code: Alles auswählen
tmp = ergteilen - int(ergteilen) # int(ergteilen) gibt den Ganzzahl Anteil zurück, also z.B. 3 bei 3.14
if tmp != 0.0:
# 'ergteilen' ist keine Ganzzahl bzw. keine Fließkommazahl, die auf .0 endet
Programmieren und Mathe sind näher verwandt als mancher meint. Es macht also in jeden Fall Sinn, ein bisschen über die Problemstellung nachzudenken. Als simple Faustregel kann gelten: Je einfacher eine Lösung, desto besser (Code, der nicht da ist, kann auch nicht fehlerhaft sein) und: Eine gute Lösung ist meist auch eine elegante Lösung.
Viel Spass beim Üben und Lernen ;)