Ich habe versucht, das folgende zu erreichen. Ich schrieb Code auf oder die Werte einer Zeichenkette und zähle die Anzahl der 1en in der Zeichenkette.Python String zu Bool Konvertierung ergibt True für alle Fälle
a='11001'
b='00111'
a and b
'00111'
a or b
11001
Kann jemand erklären, wie das funktioniert. Die Antwort, die ich erwarte ist, dass, wenn ich a and b
mache, das Ergebnis 00001
sein sollte und wenn ich a or b
mache, sollte ich 11111
, die logische and
und or
bekommen.
Ich verstehe, dass nicht leere Zeichenfolgen für alle Fälle True ergeben. So kann ich das obige Verhalten erklären, dachte ich nicht, wie man boolean implementieren and
und or
Vielen Dank im Voraus.
Da alle nicht leeren Strings "True" sind. Sie suchen nach bitweisen Operationen, die nicht durch Magie geschehen. Sie müssen sie explizit ausführen. – IanAuld
Übrigens, um die Anzahl von '1' in einem String aus nur 0 und 1s zu zählen, haben Sie einen viel einfacheren Weg: 'sum (int (c) für c in" 0001111 ")' – spectras
@Annapoornima Der Titel Für diese Frage ist falsch und irreführend, bitte beheben Sie es. Die Frage ist: Bitweise Operationen an Strings, die Binärzahlen darstellen – AndresR