Seite 1 von 1

Einmal reicht völlig aus...

Verfasst: Mittwoch 23. September 2015, 16:50
von DMD
ich brauch ma eine idee wie ich die einzelnen fehlerausgaben zu EINER fehlerausgabe mache.
ich möchte eine string liste auf string(float-einträge) oder string(string-einträge) überprüfen.
sobald ich einen oder mehrere string(string-einträge) erhalte, will ich nur eine fehlerausgabe erhalten.

Code: Alles auswählen

import tkMessageBox

mylist=['1.5','orange','2','3','4','apple']

for icon in mylist:
    try:
       a = float(icon)
    except ValueError:
        import Tkinter
        window = Tkinter.Tk()
        window.wm_withdraw()
        window.geometry("1x1+200+200")
        tkMessageBox.showerror(title="GUI-VERWALTUNG",message="EINGABEFEHLER:\n\nBitte gib eine nichtnegativen ganze Zahl als Kontonummer ein!",parent=window)
    finally:
        print 'Programm laeuft weiter...'
ich möchte nicht zwei oder hundert, sondern nur eine fehlerausgabe.
kann mir einer mit ner idee helfen? wär goil

Re: Einmal reicht völlig aus...

Verfasst: Mittwoch 23. September 2015, 17:24
von cofi
Solange du nichts mit den Werten machen willst, kannst du es so machen:

Code: Alles auswählen

def is_no_float(x):
    try:
        float(x)
    except ValueError:
        return True
   else:
        return False

if any(is_no_float(x) for x in mylist):
    show_error_msg()
Der Punkt ist eben, erst alle Werte zu ueberpruefen und _dann_ die Ausgabe zu machen.

Re: Einmal reicht völlig aus...

Verfasst: Mittwoch 23. September 2015, 17:35
von DMD
danke, passt :)

Re: Einmal reicht völlig aus...

Verfasst: Mittwoch 23. September 2015, 18:13
von Hyperion
Auf eine fast schon perverse Art und Weise bin ich ja doch neugierig, was Du da eigentlich zusammen zauberst... aufgrund der anderen Threads ahne ich irgendwie schlimmes :twisted: