Odpowiedź :
def palindrom(words: dict):
"""
Znajduje palindromy w danym słowniku.
:param words: Słownik słów
:return: Słownik z palindromami
"""
# Tu dodamy palindromy.
new_words = {}
# Sprawdzamy każdy element w słowniku.
for word in words:
# Dodajemy do siebie słowa.
mix = word + words[word]
# Jeśli ta funkcja ma działać dla słów o różnym rozmiarze znaków - trzeba je zmniejszyć.
mix = mix.lower()
# Jeśli ta funkcja ma działać dla zdań itp. trzeba usunąć spacje.
mix = mix.replace(" ", "")
# Obracamy kolejność znaków.
mix_reverse = mix[::-1]
# Sprawdzamy czy oba ciągi znaków są takie same.
is_same = (True if mix == mix_reverse else False)
# Jeśli są takie same, dodajemy je do nowego słownika.
if is_same:
new_words[word] = words[word]
# Zwracamy nowy słownik.
return new_words
def palindrom_short(words: dict):
"""
Znajduje palindromy w danym słowniku.
:param words: Słownik słów
:return: Słownik z palindromami
"""
new_words = {}
for word in words:
check = (word + words[word]).replace(" ", "").lower()
if check == check[::-1]:
new_words[word] = words[word]
return new_words
if __name__ == '__main__':
test = {
"test": "test",
"Kimoyo": "Desu",
"Kaj": "ak",
"owo": "cowo",
"Kobyła ma": "mały bok"
}
print(palindrom(words=test))
print(palindrom_short(words=test))
input()