Python :: Aufgabe #352 :: Lösung #5

5 Lösungen Lösungen öffentlich
#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ß
#5
vote_ok
von AlexGroeg (2010 Punkte) - 19.05.2021 um 13:12 Uhr
Quellcode ausblenden 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

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben
1988176

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.