【发布时间】:2017-05-19 05:44:03
【问题描述】:
我有以下练习: 如果您可以重新排列一个字母以拼写另一个单词,则两个单词是字谜。 编写一个名为 is_anagram 的函数,它接受两个字符串,如果它们是字谜,则返回 True。
我开发了一个功能,但它不能正常工作,我不知道为什么。谁能告诉我我做错了什么?非常感谢。
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就足够了。 -
试试
def isa(t,s): return sorted(t)==sorted(s)。这会将字符串以相同的顺序排列,然后进行比较。 -
非常感谢,阿卜杜。我已经消除了 while 循环并应用了一些更改。现在它起作用了。再次感谢您。
标签: python-2.7 while-loop anagram