2017-05-05 27 views
-6

我试过这个,我想程序比较S1中的每个字母与每个字母在S2中,有什么想法?我想写一个函数,需要2个字符串,并返回True,如果他们是anagrams(任何字有不同的顺序相同的字母)

s1= "Army" 
s2= "Mary" 
def anagram(S1,S2): 
    q=0 
    w=0 
    S1.lower() 
    S2.lower() 
    for i in S1: 
     if S1[q]==S2[w]: 
      print S1[q] 
     else: 
      q+=1 
      w+=1 

anagram(s1,s2) 
+0

有一对夫妇的那说说如何来比较两个字符串,并找出他们是否字谜StackOverflow上的问题。你先看过那些吗?你也明白为什么你的代码不能按预期工作吗? – aug

+0

“有什么想法?”并不是一个好问题。你的代码有问题吗?然后说出来。如果没有,那么不要发布。 [问] – Julien

+0

@Riko我不是侵略性的我只是告诉你什么是可以接受的。如果你愿意,我可以闭嘴,让你发表不好的问题,将继续被拒绝投票... :) – Julien

回答

1

考虑使用collections.counter

import collections 

s1 = "Army" 
s2 = "Mary" 
s3 = "Zary" 

def anagram(s1,s2): 
    return collections.Counter(s1.lower()) == collections.Counter(s2.lower()) 

print anagram(s1,s2) # True 
print anagram(s1, s3) # False 

试试吧here!

相关问题