Einmal reicht völlig aus...

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
DMD
User
Beiträge: 123
Registriert: Sonntag 17. Mai 2015, 03:34

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
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

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.
DMD
User
Beiträge: 123
Registriert: Sonntag 17. Mai 2015, 03:34

danke, passt :)
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

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:
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Antworten