Python :: Aufgabe #352 :: Lösung #5
5 Lösungen
#352
Binärzahl enthält maximal eine Folge von Einsen
Anfänger - Python
von JKooP
- 23.04.2021 um 15:37 Uhr
Eine als String (Text) dargestellte Binärzahl (0 und 1) soll dahingehend geprüft werden,
ob sie maximal eine Folge von Einsen enthält. Die Länge der Folge ist beliebig.
Dabei kann die Binärzahl auch vorangestellte Nullen enthalten.
Beispiele:
b = "1100"
Lösung: wahr => 1100 (1 Folge)
b = "1010"
Lösung: falsch => 1010 (2 Folgen)
b = "00111000"
Lösung: wahr => 00111000 (1 Folge)
b = "10000001"
Lösung: falsch => 10000001 (2 Folgen)
Schreibe eine Methode/Funktion, die für obige Aufgabenstellung als Ergebnis true/false liefert.
Viel Spaß
ob sie maximal eine Folge von Einsen enthält. Die Länge der Folge ist beliebig.
Dabei kann die Binärzahl auch vorangestellte Nullen enthalten.
Beispiele:
b = "1100"
Lösung: wahr => 1100 (1 Folge)
b = "1010"
Lösung: falsch => 1010 (2 Folgen)
b = "00111000"
Lösung: wahr => 00111000 (1 Folge)
b = "10000001"
Lösung: falsch => 10000001 (2 Folgen)
Schreibe eine Methode/Funktion, die für obige Aufgabenstellung als Ergebnis true/false liefert.
Viel Spaß
#5
von AlexGroeg (2010 Punkte)
- 19.05.2021 um 13:12 Uhr
Python-Code
def prüfe_folge(b): n = [] for i in range(len(b)-1): if b[i] == '1' and b[i+1] == '1': n.append(i) if len(n) > 1 and n[0] == n[1]-1: n.remove(n[0]) if len(n) == 1: return True return False beispiele = ["1100", "1010", "00111000", "10000001", "0010101100000110"] for b in beispiele: print('b= "{}"'.format(b)) print('Lösung:',prüfe_folge(b),'\n')
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1