Python - das Finden alle nicht alpha-numerische Zeichen in einem string
Bin ich entwerfen ein system, das ermöglicht Benutzern die Eingabe ein string ist, und die Stärke der saite bestimmt werden, indem die Menge der nicht alphanumerische Zeichen. Punkte vergeben werden sollten, wie also: +1 für jeden nicht-alnum-Zeichen, maximal 3 nicht-alnum-Zeichen.
def non_alnum_2(total,pwd):
count = 0
lid = 3
number = 0
if pwd[count].isalnum():
if True:
print "Nope"
if False:
print "Good job"
count = count + 1
number += 1
if number > lid:
number = lid
return number
total = 0
number = 0
pwd = raw_input("What is your password? ")
non_alnum_2(total, pwd)
print total
total += number
Ich habe gerade erst mit Programmieren angefangen, also ich bin sorry, wenn dies scheint wie ein sehr junior Frage.
- Vielleicht möchten Sie erwägen den regulären Ausdrücken.
- Ein regulärer Ausdruck für
isalnum
ist nur die Dinge komplizierter, ohne Grund.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie einfach versuchen:
Wenn Sie möchten, um die Anzahl der nicht-alpha-strings könnte man sagen
Gibt es mehrere Probleme mit diesem code.
Zunächst
if True:
ist immer wahr, also ist die"Nope"
wird immer passieren, undif False:
ist nie wahr, also nichts von dem Zeug jemals passieren wird. Ich denke, Sie wollte diese:Außerdem denke ich, dass Sie erhöhen wollen
count
immer, nicht nur wenn es ist ein symbol, also:Unterdessen müssen Sie irgendeine Art von Schleife, wenn Sie wollen, dass dies geschieht über und über. Zum Beispiel:
Jedoch, Sie wirklich brauchen nicht zu pflegen
count
Sie sich und halten tunpwd[count]
; Sie können einefor
Schleife für diese:Unterdessen, während Sie das tun
return
einen Wert aus dem Ende der Funktion, die Sie nicht tun, nichts mit der zurückgegebene Wert, wenn Sie nennen die Funktion. Was Sie brauchen, ist:Auch, es gibt keinen Grund, zu übergeben
total
zunon_alnum_2
hier. In der Tat, es nichts nützliches an alle.Also, setzen Sie alle zusammen: