У меня есть следующее упражнение: Два слова - это анаграммы, если вы можете переставить буквы из одного для написания другого. Напишите функцию is_anagram, которая принимает две строки и возвращает True, если они являются анаграммами.while цикл для проверки анаграмм в python
У меня есть функция, но она не работает должным образом, и я не могу понять, почему. Может ли кто-нибудь сказать мне, что я делаю неправильно? Большое спасибо.
def isa(s,t):
if len(s)!=len(t):
print "impossible"
if len(s)==len(t):
i=0
while i<len(s)-1:
for i in s:
if i in t:
print "yay"
print "NO"
Вам кажется, не увеличивающиеся 'i', который используется в состоянии вашего' While-loop'. Кроме того, я путаюсь о комбинации циклов 'while' и' for' здесь. Просто «for-loop» хватило бы. – Abdou
Попробуйте 'def isa (t, s): return sorted (t) == sorted (s)'. Это ставит строки в одном порядке и затем сравнивает их. – Abdou
Огромное вам спасибо, Абду. Я исключил цикл while и применил несколько изменений. Теперь это работает. Еще раз спасибо. – Maya