Python 所谓“变位词”是指两个词之间存在组成字母的重新排列关系。如:heart和earth,python和typhon,1234与2134。 编程实现对输入的两个字符串判断是否为“变位词”,是输出True,不是输出False。 【输入形式】 输入两个字符串,一行一个字符串 【输出形式】 输出逻辑True或False
时间: 2023-05-19 10:05:24 浏览: 102
以下是 Python 代码实现:
```python
str1 = input().strip()
str2 = input().strip()
if len(str1) != len(str2):
print(False)
else:
dict1 = {}
dict2 = {}
for i in range(len(str1)):
if str1[i] not in dict1:
dict1[str1[i]] = 1
else:
dict1[str1[i]] += 1
if str2[i] not in dict2:
dict2[str2[i]] = 1
else:
dict2[str2[i]] += 1
if dict1 == dict2:
print(True)
else:
print(False)
```
输入样例:
```
heart
earth
```
输出样例:
```
True
```
相关问题
所谓“变位词”是指两个词之间存在组成字母的重新排列关系。如:heart和earth,python和typhon,1234与2134。 编程实现对输入的两个字符串判断是否为“变位词”,是输出True,不是输出False。
好的,我可以为您提供一个Python的实现代码,如下所示:
```python
def is_anagram(s1, s2):
# 判断两个字符串是否为变位词
if len(s1) != len(s2):
return False
else:
# 将两个字符串都转换为小写字母
s1 = s1.lower()
s2 = s2.lower()
# 将两个字符串中的字符排序
s1 = sorted(s1)
s2 = sorted(s2)
# 判断两个字符串是否相等
if s1 == s2:
return True
else:
return False
# 测试
print(is_anagram("heart", "earth")) # True
print(is_anagram("python", "typhon")) # True
print(is_anagram("1234", "2134")) # True
print(is_anagram("hello", "world")) # False
```
上述代码中,我们先判断两个字符串的长度是否相等,如果不相等,则它们不可能为变位词。接着将两个字符串都转换为小写字母,然后利用Python内置函数`sorted()`将两个字符串中的字符排序。最后,判断两个排序后的字符串是否相等,如果相等,则它们为变位词,返回True;否则,它们不是变位词,返回False。
【问题描述】 所谓“变位词”是指两个词之间存在组成字母的重新排列关系。如:heart和earth,python和typhon,1234与2134。 编程实现对输入的两个字符串判断是否为“变位词”,是输出True,不是输出False。 【输入形式】 输入两个字符串,一行一个字符串 【输出形式】 输出逻辑True或False 【样例输入】 heart earth 【样例输出】 True 【样例说明】 11234与2134不是“变位词” 【评分标准】
好的,这是一道字符串处理题目。我们可以先将两个字符串分别排序,然后比较它们是否相等,如果相等,则说明它们是“变位词”。
具体实现如下:
```python
s1 = input().strip()
s2 = input().strip()
# 将字符串排序并比较
if sorted(s1) == sorted(s2):
print(True)
else:
print(False)
```
首先,读入两个字符串,并去掉两端的空格。然后,使用 `sorted` 函数对两个字符串分别排序,并将排序后的结果进行比较,如果相等,则输出 True,否则输出 False。
希望我的回答能够帮助你解决问题。
阅读全文