要求:
编写一个Python程序来判断两个给定的字符串是否是错位词。
如果两个字符串具有相同的字符,但顺序不同,则被认为是彼此的错位词。 例如,restful
和fluster
是错位词。
- 定义函数
are_anagrams()
,有两个参数:string1
和string2
。 - 在函数内,如果两个字符串是错位词,则返回
True
,否则返回False
。
示例输入
Listen Silent
示例输出
True
代码:
from collections import Counter
def are_anagrams(string1, string2):
#去除空格
string1 = string1.replace( " ","" )
string2 = string2.replace( " ","" )
# 使用 Counter 统计每个字符串中字符的出现次数
#lower()所有字母小写
counter1 = Counter( string1.lower() )
counter2 = Counter( string2.lower() )
# 比较两个计数器对象是否相等
if counter1 == counter2:
return 'True'
else:
return 'False'
# 获取输入string1 和 string2
string1 = input()
string2 = input()
# 调用函数并打印结果
print( are_anagrams( string1, string2 ) )
补充:set()会删除重复字符
Counter()不会删除重复字符