Ein Beispiel:
Was tut der Code?Code:if strFunktion[0] == '0': #Funktion in dualzahlen umwandeln strFunktionsbits = '00' elif strFunktion[0] == '1': strFunktionsbits = '01' elif strFunktion[0] == '2': strFunktionsbits = '10' elif strFunktion[0] == '3': strFunktionsbits = '11' else: print('Da ist ein Fehler bei der Umwandlung der Funktion (Schleife) aufgetreten. Bitte nur Ziffern 0,1,2,3 eingeben!')
Wandelt die möglichen Subadressen 0-3 in die entsprechende Bitfolge um.
Was haben alle If-Zweige gemeinsam?
Wandeln die jeweilige Subadresse in eine Binärzahl um: 0 -> 00, 1 -> 01, 2 -> 10, 3 -> 11
Vereinfachung
Umwandlung der Subadresse in Binärzahl generalisieren.
Von 10 auf 3 Zeilen und deutlich übersichtlicher. :-)Code:if int(strFunktion) not in range(0, 4): raise Exception('Funktion muss zwischen 0 und 3 liegen!') strFunktionsbits = format(int(strFunktion), '02b')
Aber genug Programmiertips, ist ja schließlich kein Python-Forum hier.
Gruß Joachim




Zitieren