Napisz program, który dla dwóch napisów o tej samej liczbie znaków wprowadzonych z klawiatury obliczy, ile jest zgodnych liter, wypisze je na ekranie oraz wyznaczy jaki procent wszystkich liter stanowią litery niezgodne. Na przykład dla słów INFORMATYK i REFORMACJA liczba zgodnych liter wynosi 5, natomiast litery niezgodne stanowią w tym przypadku 50%.

Nie umiem tylko określić tych procentów, błagam pomocy


Odpowiedź :

def liczba_wspolnych_znakow():

   wyraz_a = str(input("Podaj pierwszy wyraz: ")).upper()

   wyraz_b = str(input("Podaj drugi wyraz: ")).upper()

   wspolne_litery = []

   for i in wyraz_a:

       if i in wyraz_b:

           if i not in wspolne_litery:

               wspolne_litery.append(i)

   wszystkie_litery = len(wyraz_a)+len(wyraz_b)

   if len(wyraz_a)==len(wyraz_b):

       procent_zgodne = (len(wspolne_litery)/len(wyraz_a))*100

       procent_niezgodne = 100-procent_zgodne

   else:

       procent_zgodne = ((2*len(wspolne_litery))/wszystkie_litery)*100

       procent_niezgodne = 100-procent_zgodne

   procent_niezgodne = round(procent_niezgodne,2)

   

   rezultat = "Jest "+str(len(wspolne_litery))+" wspólnych liter.\nLitery niezgodne stanowią "+str(procent_niezgodne)+" % wszystkich liter."

   return rezultat

   

print(liczba_wspolnych_znakow())