Hallo Herr Schnoor,
> Das Zahlensystem zur Basis 4096 besteht aus folgenden 4096 Ziffern:
>
> ziffern =
> """123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏ
> ÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġ
...
> ㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ᧠᧡᧢᧣᧤᧥᧦᧧᧨᧩᧭᧯ᲐᲑᲒᲓᲔᲕᲖᲗᲘᲙᲚᲛᲜᲝᲞᲟᲠᲡᲢᲣᱪᱫᱬᱭ
> ㄪㄫꆰꆱꆲꆳꆴꆵꆶꆷꆸꆹꆺꆻꆼꆽꆾꆿꇀꇁꇂꇃꇄꇅꇆꇇꇈꇉꇊꇋꇌꇍꇎꇏꇐꇑꇒꇓꇔꇕꇖꇗꇘꇙꇚꇛꇜꇝꇞꇟꇠꇡꇢꇣꇤꇥꇦꇧꇨꇩꇪꇫꇬꇭꇮꇯꇰꇱꇲꇳꇴꇵꇶꇷꇸꇹ"""
Ein Ziffernstring eines Zahlensystems zur Basis b enthält b VERSCHIEDENE
DRUCKBARE Zeichen. Ausgeschlossen sind somit whitespace-Zeichen (Tabulatoren,
Zeilenumbrüche,
Leerzeichen) und Steuerzeichen.
Ihr Mehrzeilenstring <ziffern> erfüllt diese elementaren Anforderungen nicht.
Er enthält fast 70 Zeichen mehrfach, darunter 56 Zeilenumbrüche und ein
Leerzeichen.
Dies sieht man so:
z = ziffern
num1 = len(z)
num2 = len(set(z)) # set(z) = Menge der Zeichen in z
print(num1, num2, num1 - num2) # >> 4115 3983 132
mehrfach = sorted( set( [ x for x in z if (z.count(x) > 1 or x in "\t\n ") ] ) )
for i, ch in enumerate(mehrfach):
print("[%d] >%s< %6d (%d-mal)" % (i+1, ch, ord(ch), z.count(ch)))
Da müsste nachgebessert werden.
W. Buechel
_______________________________________________
python-de Mailingliste -- [email protected]
Zur Abmeldung von dieser Mailingliste senden Sie eine Nachricht an
[email protected]
https://mail.python.org/mailman3/lists/python-de.python.org/
Mitgliedsadresse: [email protected]