当我尝试在我的程序中使用它时,它表示存在属性错误
'builtin_function_or_method' object has no attribute 'replace'
但我不明白为什么.
def verify_anagrams(first, second):
first=first.lower
second=second.lower
first=first.replace(' ','')
second=second.replace(' ','')
a='abcdefghijklmnopqrstuvwxyz'
b=len(first)
e=0
for i in a:
c=first.count(i)
d=second.count(i)
if c==d:
e+=1
return b==e
解决方法:
你需要在它之后放置()来调用str.lower方法:
first=first.lower()
second=second.lower()
否则,第一个和第二个将分配给函数对象本身:
>>> first = "ABCDE"
>>> first = first.lower
>>> first
<built-in method lower of str object at 0x01C765A0>
>>>
>>> first = "ABCDE"
>>> first = first.lower()
>>> first
'abcde'
>>>