Строка в Python 3.4

У меня есть вопрос о том, как вернуть true для строк. Может ли кто-нибудь помочь мне в том, как запросить пользовательский ввод в Python 3.4 и ответить на этот вопрос

Напишите класс/функцию для возврата True, если 2 входные строки являются анаграммами друг для друга. строка1 является анаграммой строки2, если строка2 может быть получена путем перестановки символов в строке1.

Example:
string1 = 'smart'
string2 = 'marts'
result: True

string1 = 'secure'
string2 = 'rescue' 
result: True

person user3567522    schedule 24.04.2014    source источник
comment
Подсказка: попробуйте найти простое представление для обеих строк, которое не зависит от порядка символов в строке, и сравните их.   -  person tobias_k    schedule 24.04.2014


Ответы (2)


Возможно, что-то вроде строк (предупреждение о непроверенном коде):

def isAnagram(string1, string2):
    if sorted(list(string1)) == sorted(list(string2)):
        return True
    else:
        return False

По общему признанию, есть более краткие способы сделать это, однако, на мой взгляд, это особенно легко понять.

person MapReduceFilter    schedule 16.03.2015

Попробуй это:

def is_anagram(a, b):
    return True if sorted(a) == sorted(b) else False
person MaxPowers    schedule 07.06.2015
comment
Или просто: return sorted(a) == sorted(b) - person Jon Clements♦; 07.06.2015