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

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ß
#3
2 Kommentare
vote_ok
von AlexGroeg (2010 Punkte) - 06.05.2021 um 15:47 Uhr
Quellcode ausblenden Python-Code

def prüfe_folge(b):
    for i in range(len(b)-1):
        if b[i] == '1' and b[i+1] == '1':
            return True
    return False


beispiele = ["1100", "1010", "00111000", "10000001"]

for b in beispiele:
    print(prüfe_folge(b))

Kommentare:

nitnat

Punkte: 670


17 Lösungen
1 Kommentare

#1
19.05.2021 um 00:34 Uhr
Hey,

ich befürchte deine Funktion gibt immer dann "true" aus, wenn in einem beliebigen String aus Nullen und Einsen irgendwann zwei Einsen nacheinander auftauchen.

Die Funktion gibt bspw. true aus bei "0010101100000110", obwohl hier ich hier mindestens vier Folgen von Einsen zähle..

Vielleicht hab ich die Aufgabenstellung falsch verstanden, aber falls nicht, schau doch noch mal drüber, vllt kannst du die Funktion aufwandsarm ändern..

Grüße, nitnat

post_arrow
701 0

AlexGroeg

Punkte: 2010


43 Lösungen
7 Kommentare

#2
19.05.2021 um 13:15 Uhr
Danke für den Hinweis,
habe die Aufgabenstellung nicht richtig gelesen...
post_arrow
702 0
Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben
1988187

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.