Rozwiązanie do zadania Hasła w języku Python - rafgus1/Matura2020 GitHub Wiki

plik = open('hasla.txt')
hasla=[]
for haslo in plik:  
    hasla.append(haslo.strip())
def czyCyfry(haslo):
    for z in haslo:
        if z>='0' and z<='9':
            continue
        else:
            return False
    return True

def czyKolejne(tekst):
    t=sorted(tekst)
    if ord(t[0])+3==ord(t[1])+2==ord(t[2])+1==ord(t[3]):
        return True
    else:
        return False

def czyMala(haslo):
    for z in haslo:
        if z>='a' and z<='z':
            return True
    return False

def czyDuza(haslo):
    for z in haslo:
        if z>='A' and z<='Z':
            return True
    return False
    
def czyCyfra(haslo):
    for z in haslo:
        if z>='0' and z<='9':
            return True
    return False

def zad1(tab):
    ileHasel=0
    for haslo in tab:
        if czyCyfry(haslo):
            ileHasel+=1
    print("Jest",ileHasel,"haseł skałdających się z samych cyfr.")

def zad2(tab):
    ileHasel={}
    for haslo in tab:
        if haslo in ileHasel:
            ileHasel[haslo]+=1
        else:
            ileHasel[haslo]=1
    klucze=[]
    for haslo in ileHasel.keys():
        if ileHasel[haslo]>1:
            klucze.append(haslo)
    for haslo in sorted(klucze):
        print(haslo)      

def zad3(tab):
    ileHasel=0
    for haslo in tab:
        if len(haslo)>3:
            for i in range(0, len(haslo)-3):
                if czyKolejne(haslo[i:i+4]):
                    ileHasel+=1
                    break
    print(ileHasel)

def zad4(tab):
    ileHasel=0
    for haslo in tab:
        if czyMala(haslo) and czyDuza(haslo) and czyCyfra(haslo):
            ileHasel+=1
    print(ileHasel)
    
print("Zadanie 1")
zad1(hasla)
print("\nZadanie 2")
zad2(hasla)
print("\nZadanie 3")
zad3(hasla)
print("\nZadanie 4")
zad4(hasla)
⚠️ **GitHub.com Fallback** ⚠️