python 中两个字符串的 Anagram 测试

2024-04-21

这是问题:

编写一个名为 test_for_anagrams 的函数,该函数接收两个字符串: 参数,均由字母字符组成,返回 如果两个字符串是字谜词,则为 True,否则为 False。两个字符串是 如果一个字符串可以通过重新排列来构造,则为 anagrams 另一个字符串中的字符使用所有字符 原始字符串恰好一次。例如,字符串“Orchestra”和 “Carthorse”是字谜词,因为每个字谜词都可以由 使用所有字符重新排列另一字符中的字符 其中一个恰好一次。请注意,大小写并不重要 这里即小写字符可以被认为与 大写字母。

My code:

def test_for_anagrams (str_1, str_2):
    str_1 = str_1.lower()
    str_2 = str_2.lower()
    print(len(str_1), len(str_2))
    count = 0
    if (len(str_1) != len(str_2)):
        return (False)
    else:
        for i in range(0, len(str_1)):
            for j in range(0, len(str_2)):
                if(str_1[i] == str_2[j]):
                    count += 1
        if (count == len(str_1)):
            return (True)
        else:
            return (False)


#Main Program
str_1 = input("Enter a string 1: ")
str_2 = input("Enter a string 2: ")
result = test_for_anagrams (str_1, str_2)
print (result)

这里的问题是当我输入字符串时Orchestra and Carthorse,它给我的结果是False。字符串也一样The eyes and They see。任何帮助,将不胜感激。


我是Python新手,如果我错了,请原谅

我相信这可以通过不同的方法来完成:对给定的字符串进行排序,然后比较它们。

def anagram(a, b):
  # string to list
  str1 = list(a.lower())
  str2 = list(b.lower())

  #sort list
  str1.sort()
  str2.sort()

  #join list back to string
  str1 = ''.join(str1)
  str2 = ''.join(str2)

  return str1 == str2

print(anagram('Orchestra', 'Carthorse'))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python 中两个字符串的 Anagram 测试 的相关文章

随机推荐

  • 使用ajax将数据从文本框发送到asp.net mvc 5控制器

    我需要一些帮助 我使用 ASP NET MVC5 和 JavaScript jQuery Ajax 编写了一个小应用程序 但我无法将数据从 javascript 发送到 MVC 控制器并更改模型 视图模型 public class MyVi
  • Linux世界中最接近Windows COM/DCOM的是什么?

    还有比管道 套接字更高级别 更全面的东西吗 对于进程间通信 D Bus http www freedesktop org wiki Software dbus是标准的更高级别机制 GTK 和 Qt 都具有 D Bus 绑定 大多数桌面环境
  • 如何将Hyperledger Composer部署到“Azure Hyperledger Single Member Blockchain”?

    我找到了将 Hyperledger Fabric 部署到 Azure Hyperledger Single Member Blockchain 的指南here https gallery technet microsoft com Hype
  • Google Tensorflow 中的事件文件

    我正在使用 Tensorflow 构建神经网络 我想在 Tensorboard 上显示训练结果 到目前为止一切正常 但我对 Tensorboard 的 事件文件 有疑问 我注意到每次运行 python 脚本时 它都会生成不同的事件文件 当我
  • java重写方法调用

    我有一个超级课程 public class SuperClass public void dosomething firstMethod secondMethod public void firstMethod System out pri
  • Javascript:如何根据项目属性值删除数组项目(JSON 对象)?

    像这样 var arr name robin age 19 name tom age 29 name test age 39 我想删除这样的数组项 数组原型方法 arr remove name test remove by name arr
  • 启用 SplitView 和 MultiTask iPad 混合应用程序。删除交互

    我们有 ionic iPad 应用程序 使用 cordova 电容器平台 我们使用以下链接启用了 iPad 13 的分割视图https en gg enable ipad split screen feature in an ionic o
  • 如何在 Android 应用程序中合理管理音频音量?

    我有一个应用程序 在其活动打开时播放间歇性声音 用户总是期望它发出这些声音 但不幸的是它受到音乐流音量的限制 我发现的选项是 调整音乐流的音量 如果用户当时正在播放音乐 则可能会使用户耳聋 如果音乐流的音量为0 则调用MediaPlayer
  • 如何在 Tensorflow 上测试自己的图像到 Cifar-10 教程?

    我训练了 Tensorflow Cifar10 模型 我想为其提供自己的单个图像 32 32 jpg png 我想将标签和每个标签的概率视为输出 但我对此遇到了一些麻烦 搜索堆栈溢出后 我发现了一些帖子this https stackove
  • 从 nib 初始化自定义 UITableViewCell,无需 dequeueReusableCellWithIdentifier

    SWIFT 我需要制作一个单元格数组 我有一些带有 nib 文件的自定义单元格类 继承自 UITableViewCell 如何在不在表视图中注册笔尖并执行 dequeueReusableCellWithIdentifier 的情况下初始化单
  • 如何设置 MySQL 以便与 C# 一起使用?

    我的任务是为旧网站创建一个新的前端 它是用 php oo 之前的版本 编写的 并使用 MySQL 数据库 主机提供 Net包 但不提供Ms Sql Server 这很好 因为数据库工作正常 但我真的想使用 Asp net 作为页面 然而 我
  • 在 NSMenuItem 中使用 NSProgressIndicator

    我正在尝试在状态栏菜单内使用 NSProgressIndicator 不确定 我使用 NSView 对象作为菜单项的视图 然后子视图进度指示器来显示它 但是每当我尝试调用 startAnimation 来获取进度时 什么也没有发生 当我尝试
  • 使用conftest.py 与从专用模块导入装置

    我最近开始熟悉 pytest 以及如何使用conftest py定义在我的测试中自动发现和导入的装置 我很清楚如何conftest py工作原理以及如何使用它 但我不确定为什么这在某些基本场景中被认为是最佳实践 假设我的测试是这样构建的 t
  • UITextView 可以容纳多少文本?

    我有一个不可编辑的UITextView显示用户输入的文本 如果文本很长会发生什么 它会让我的应用程序崩溃吗 我应该对文本进行分页吗 iPhone 网络浏览器 如 Safari Chrome 或 Firefox 如何处理此问题 有没有类似的东
  • 如何在Cloudant或CouchDB中使用skip参数?

    在 Cloudant 或 CouchDB 的索引中使用 Skip 参数是否存在潜在的性能损失 有更好的技术可以使用吗 The 在 CouchDB 中写入和查询 MapReduce 视图 http my safaribooksonline c
  • React antd 轮播方法

    我正在考虑使用antd轮播 但我还没有看到描述如何使用的示例goTo slideNumber dontAnimate 方法 我尝试过使用这个问题的答案带箭头的react js antd轮播 https stackoverflow com q
  • Xamarin 不尊重 JDK 位置 (VS2015)

    我无法在 Visual studio 2015 中构建 Xamarin 应用程序 因为 Xamarin 忽略配置的 JDK 位置 我将 Xamarin 配置为使用 JDK 1 8 但构建仍然失败 因为它使用的是我从计算机中删除的旧 JDK
  • 在 Linux (libusb-1.0) 上访问 USB 设备?

    我正在编写一个小程序 使用 Linux 上的 libusb 1 0 与特定 USB HID 产品 由供应商和产品 ID 标识 进行通信 现在 我必须以 root 身份运行该程序 因为 libusb 需要对 USB 设备节点的写访问权限 有没
  • UNIQUE 约束失败:accounts_user.username

    让我们开始解决问题 我有一个页面 我希望用户在其中填写有关自己的信息 并且我想保存该数据 但我收到这个错误 IntegrityError at accounts profile edit 1 change profile UNIQUE co
  • python 中两个字符串的 Anagram 测试

    这是问题 编写一个名为 test for anagrams 的函数 该函数接收两个字符串 参数 均由字母字符组成 返回 如果两个字符串是字谜词 则为 True 否则为 False 两个字符串是 如果一个字符串可以通过重新排列来构造 则为 a