首页 > 编程问答 >获取一行中字符串中第一个字符(五个正确字符中的第一个字符)的索引

获取一行中字符串中第一个字符(五个正确字符中的第一个字符)的索引

时间:2024-07-24 15:23:48浏览次数:11  
标签:python indexing

我正在尝试压缩我的代码(与朋友进行最少行数和字符挑战),但我遇到了问题。

outputWord = ""
def translate(inp):
  output = []
  words = inp.split()
  for i in range(len(words)):
    outputWord = ""
    curWord = words[i]
    if curWord[0] in ("a", "o", "e", "u"):
      outputWord = curWord + "way"
    else:
      pos = curWord.rfind("a") # this is the problem.
      outputword = curWord[pos:] + curWord[:pos] + "ay"
    output.append(outputWord)
    return(output)
output = translate(raw_input(""))
print(' '.join(output))

这是我的代码。
当我定义问题时,我试图找到第一个元音字符(不包括 y)。但我无法想出一种方法以尽可能少的行数来完成它。基本上,它搜索所有元音,并将最小值设置为 pos。这就是我想要做的,但我尝试过的所有内容都占用了 10 多行。

我尝试过使用 if 语句、for 循环、列表、变量和 rfind()。没有一个得到理想的结果。
StackOverflow 现有的所有问题都是为了搜索 一个 字符,而不是五个,并检查哪个字符的索引最小。

请不要这样做对我来说,只需给我有帮助的想法或资源即可。这是一个独立的挑战,我们可以使用 StackOverflow。


可以使用正则表达式来查找第一个元音的位置:

import re

def translate(inp):
  output = []
  for word in inp.split():
    match = re.search("[aeiou]", word)
    pos = match.start() if match else -1
    output.append(word + "way" if pos == 0 else word[pos:] + word[:pos] + "ay")
  return output

output = translate(input())
print(' '.join(output))

这段代码的作用如下:

  1. 导入 re 模块 :这使得可以使用正则表达式。
  2. 在循环中使用 re.search() :对于每个单词,它会搜索第一个匹配 [aeiou] (任何元音)的位置。如果找到匹配, match.start() 会给出该位置的索引;否则, match 将为 None ,我们将其设置为 -1
  3. 根据 pos 的值构建 pig latin 单词 :如果 pos 为 0(第一个字母是元音),则添加 "way"。否则,将从第一个元音开始的单词部分移到开头,并添加 "ay"。

此代码使用列表推导和条件表达式,使代码更短。

标签:python,indexing
From: 78786524

相关文章

  • 如何在Python中的指定项目之后添加新项目到嵌套列表?
    给定的列表是这样的。list1=[10,20,[300,400,[5000,6000],500],30,40]预期输出是这样的。我知道这是一个非常基本的问题,但我很困惑。输出:[10,20,[300,400,[5000,6000,7000],500],30,40]我希望有人能帮助我解决这个问题。并解释了嵌套列表的插入功......
  • python带界面实现word文档比对功能
    python实现word文档比对的功能较简单,笔者这里将其界面话,可以指定输入比对的文档,相似度,最小相似参数等。输出的结果以word的形式保存,重复部分会标出,基本实现了商业软件的功能。先看界面这里不废话了,直接给出全部源码,觉得好的点个赞。程序打包的话,自己百度。fromtkinterimp......
  • 具有固定字典键的 Python 函数返回类型提示
    我有一个函数返回一个始终具有相同键的字典(通过网络发送并使用json进行“字符串化”)。基本上我的函数看起来像这样:defgetTemps(self)->dict:"""getroomandcputemperaturein°Caswellashumidityin%"""#sendtemperaturerequesttoserve......
  • 在类型提示中使用 Type[class_name] 而不是仅使用 class_name 时,python 未解析的属性
    我想输入提示继承结构,但我不知道如何正确执行。这个想法是函数c可以采用A的任何子类。一些子类具有其他子类没有的属性,并且这些属性不是在父类中定义,而是在子类中定义。函数c检查子类,如果它是正确的,则使用该类的特定属性。在此设置中,PyCharm抱怨该参数不在父类中。from......
  • python的包管理
    获取现有项目有那些依赖安装pipreqspipinstallpipreqs在项目根目录执行pipreqs.--encoding=utf8--force--pypi-server=http://mirrors.aliyun.com/pypi/simple/根据生成文件安装依赖pipinstall-rrequriements.txtpipreqs命令选项Options:--use-local......
  • 如何在 python selenium 中禁用广告隐私设置?
    我对上面有一些问题。当然,当我尝试绕过cloudflare验证码时,我的策略已经破坏了任何cloudflare。但有一些问题。当我在pythonselenium中打开新选项卡时,会弹出广告隐私窗口。谁有解决这个问题的经验。谢谢您的帮助。一旦通过,就不会再发生了。我理解你想在......
  • [附开题]flask框架的基于微信小程序的医院远程预约挂号系统设计与实现6ky98(python+源
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着医疗需求的日益增长和互联网技术的飞速发展,传统的医院挂号方式已难以满足患者高效、便捷的就医需求。患者往往需要长时间排队等待挂号......
  • [附开题]flask框架的基于用户行为分析的商品推荐系统APP1qut6APP(python+源码)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景在移动互联网时代,电子商务平台的竞争日益激烈,如何精准地推荐商品给用户,提升用户体验与购买转化率,成为电商企业关注的焦点。传统的推荐算法......
  • [附开题]flask框架的教务管理系统q6190(源码+论文+python)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展和教育改革的不断深入,教务管理工作日益复杂且重要。传统的手工管理方式已难以满足当前高校教务管理的需求,特别是在......
  • python闭包和装饰器
    一、闭包1.闭包的三要素1.外部函数嵌套内部函数2.内部函数可以调用外部函数的局部变量3.外部函数返回内部函数2.示例代码 #外部函数deffunc1():print("func1")#内部函数deffunc2():print("func2")#外部函数返回内部函数re......