编写一个python程序,判断输入的两个字符串是否为换位字符串
时间: 2024-10-17 17:10:37 浏览: 36
编写一个Python程序来判断两个字符串是否是换位字符串(也称为排列),意味着它们包含相同的字符,但是顺序可以不同。这里是一个简单的实现方法:
```python
def is_anagram(s1, s2):
# 检查两个字符串长度是否相等,如果不等则不是换位字符串
if len(s1) != len(s2):
return False
# 将字符串转换为小写并排序,如果排序后的结果一样,则是换位字符串
s1_sorted = sorted(s1.lower())
s2_sorted = sorted(s2.lower())
return s1_sorted == s2_sorted
# 输入示例
input_string_1 = input("请输入第一个字符串:")
input_string_2 = input("请输入第二个字符串:")
if is_anagram(input_string_1, input_string_2):
print(f"{input_string_1} 和 {input_string_2} 是换位字符串")
else:
print(f"{input_string_1} 和 {input_string_2} 不是换位字符串")
#
相关问题
python判断两个字符串是否为换位字符串
判断两个字符串是否为换位字符串,可以先判断两个字符串的长度是否相等,如果不相等则不可能是换位字符串。然后可以将两个字符串转换为列表,对列表进行排序,如果排序后的结果相同,则说明两个字符串是换位字符串。
用Python编写判断两个字符串是否为换位字符,写出详细过程
在Python中,判断两个字符串是否为换位字符,即看这两个字符串包含的字符是否完全相同,只是顺序不同,可以通过创建两个计数器分别统计每个字符串中每个字符的出现次数来实现。以下是详细的步骤:
1. 定义两个空字典(或使用Python内置的defaultdict)作为计数器,键代表字符,值初始为0。
```python
from collections import defaultdict
def is_anagram(s1, s2):
counter1 = defaultdict(int)
counter2 = defaultdict(int)
```
2. 遍历第一个字符串`s1`,将每个字符的出现次数增加到对应字典中。
```python
for char in s1:
counter1[char] += 1
```
3. 同样遍历第二个字符串`s2`,更新第二个字典的计数。
```python
for char in s2:
counter2[char] += 1
```
4. 检查两个字典是否相等。如果所有字符的计数值都相等,则说明它们是换位字符;反之则不是。
```python
return counter1 == counter2
```
5. 将上述代码组合成完整的函数:
```python
def is_anagram(s1, s2):
from collections import defaultdict
def count_chars(s):
return defaultdict(int, {char: s.count(char) for char in s})
return count_chars(s1) == count_chars(s2)
# 测试示例
print(is_anagram("anagram", "nagaram")) # 输出:True
print(is_anagram("hello", "world")) # 输出:False
```
阅读全文