Δημοσιεύτηκε: 12 Αύγ 2011, 19:28
από Ilias95
migf1 έγραψε:Γράψτε μια συνάρτηση που θα παίρνει ως ορίσματα δυο strings και θα ελέγχει για το αν το ένα είναι αναγραμματισμός του άλλου. Θα επιστρέφει TRUE αν είναι, FALSE αν δεν είναι (ή 1 και 0, αντίστοιχα).

Παραδείγματα:

"abcd", "dbca" δίνει TRUE
"helle", "hollo" δίνει FALSE
"z", "zzz" δίνει FALSE
"zzz", "z" δίνει FALSE
"z", "z" δίνει TRUE


Όχι και η καλύτερη λύση σε python, αλλά δουλεύει:
Spoiler: show
Κώδικας: Επιλογή όλων
def anagram(s1, s2):
if len(s1) != len(s2):
return False
for i in s1:
if not i in s2:
return False
for i in s2:
if not i in s1:
return False
return True


Και το ίδιο σε μία σειρά:
Spoiler: show
Κώδικας: Επιλογή όλων
def anagram(s1, s2):
return False if len(s1) != len(s2) or not all(i in s2 for i in s1) or not all(i in s1 for i in s2) else True