string auf bestimmte zeichen checken (python)?

3 Antworten

Passwort = input("Passwort ")
c= 0 

for i in Passwort: 
  c = c + 1 

Das rechnet für jedes Zeichen in Passwort 1 auf c drauf so dass du die Zeichenanzahl hast und vergleichen kannst

xTheForza  17.10.2021, 22:27

Stop, falsch gelesen :) nochmal...

0
xTheForza  17.10.2021, 22:32
Passwort = input("Passwort ")
c = 0 


for i in Passwort: 
  if i == "+":
    c = c + 1
  elif i == "-":
    c = c + 1
  elif i == "/":
    c = c + 1
  elif i == "*":
    c = c + 1    
if c >= 2 
  print("erfolgreich")
0
def hasSpecialSymbol(symbols, except):
  for val in symbols:
    if val in passwordString and except != val:
      return val
    else
      return ""

symbols = ["+", "-", "*", "/"]

result = hasSpecialSymbol(symbols, "")

hasBothSymbols = false

if result != "":
  if hasSpecialSymbol(symbols, result) != "":
    hasBothSymbols = true
  
hasBothSymbols #Beinhaltet jetzt den Wert true, wenn beide symbole drin sind oder false, wenn mindestens eines von beiden fehlt

Wir haben eine Methode, wo wir prüfen, ob das jeweilige Zeichen aus dem Array enthalten ist. Dann haben wir ein Ausnahmezeichen, weil es ja nicht 2 mal gefunden werden soll und geben dies dann mit an und lassen es ignorieren. Dann können wir das in eine Variable (boolean) schmeißen, um später darauf zurück zu kommen. Ich hoffe ich habe nichts falsch gemacht, schreibe nicht so häufig Python 😅

import collections

hist=collections.Counter(password)
if sum(1 for sc in ('+','-','*','/') if sc in hist)>1:
    print("Kriterium erfüllt")

Hier müssen mindestens 2 verschiedene der 4 Zeichen vorhanden sein.