我是python的新手,想知道是否有人可以帮我解决问题。我正在做一个字谜检查,并遇到了一个问题。
def anagram():
worda = input("Please choose your first word:")
wordb = input("Please choose your second word:")
if worda.isalpha():
print((worda),"is a word")
else:
print((worda),"is not a word, please try again")
anagram()
if wordb.isalpha():
print((wordb),"is a word")
else:
print((wordb),"is not a word,please try again")
anagram()
worda.sort
wordb.sort
anagram()
我收到错误:AttributeError:当我尝试运行它时,'str'对象没有属性'sort'。
答案 0 :(得分:4)
字符串是不可变的,因此使用sort
方法对它们没有任何意义,你可以做的是使用sorted(worda)
,它返回一个由字符组成的排序列表。字符串。
然后再次返回字符串,您可以使用''.join(sorted(worda))
答案 1 :(得分:1)
在Python中,不可能按字典顺序对字符串进行排序,因为字符串是不可变的。相反,您必须使用sorted
函数,它接受字符串,将其转换为列表,然后对其进行排序。完成后,您可以使用join
函数将结果转换回字符串。
worda = "".join(sorted(worda))
答案 2 :(得分:0)