[Python] funkcja anagram rekurencyjnie

ct985
Użytkownik
Użytkownik
Posty: 184
Rejestracja: 13 paź 2011, o 20:36
Płeć: Kobieta
Lokalizacja: Warszawa
Podziękował: 71 razy

[Python] funkcja anagram rekurencyjnie

Post autor: ct985 »

Mam problem z napisaniem funkcji rekurencyjnej która sprawdza, czy dwie tablice to anagramy.
Mój pomysł:

Kod: Zaznacz cały

def bubble_sort(l):
    for x in range (len(l)-1):
        for i in range(len(l)-1-x):
            if l[i]>l[i+1]:
                l[i],l[i+1]=l[i+1],l[i]
    return l

def rec_find(v,x):
    if len(v)==1:
        if v[0]==x:
            return True
        return False
    elif len(v)>1:
        v1=v[:len(v)/2]
	v2=v[len(v)/2:]
        if x<v2[(len(v)/2)-1]:
            return rec_find(v1,x)
        return rec_find(v2,x)
    return False    

def czy_anagram1(a,b):
	a=bubble_sort(a)
	b=bubble_sort(b)
	zmienna=True
	if b>0:
		zmienna=rec_find(a,b[len(b)-1])
		if zmienna==True:
			b=b[:len(b)-1]
			zmienna=zmienna and czy_anagram1(a,b)
		else:
			zmienna=False
	return zmienna
Niestety nie działa
Czy można to zrobić jakoś prościej bez sortowania?
Jak wyglądałaby taka funkcja nie tylko dla tablic ale też dla str?
Bardzo proszę o pomoc
ODPOWIEDZ