首页 > 编程问答 >如何修改“名字+第二个名字+姓氏”而不触摸第二个名字? Phyton

如何修改“名字+第二个名字+姓氏”而不触摸第二个名字? Phyton

时间:2024-07-25 05:18:04浏览次数:11  
标签:python string variables methods

我想更改 phyton 中变量中的 2 个字符,但是当我修复其中一个字符时,另一个字符会再次更改。

我有这个变量。

name= " rIana Danyela RodrYguez " 

我不想碰名称“Danyela” || |如果我想用“Y”替换“rIana”中的“I”,用“i”替换“RodrYguez”中的“Y”,我做了这一行。

删除空格

.print(nombre.strip() 降低所有字母。

.lower() 大写每个单词的第一个字母。

.title() 然后 riana 给了我“ryana”

但是,当我尝试用 .replace ("i","y",)) 替换 rodyguez 中的“y”时,我得到了 rodriguez,但“ryana”变成了“riana”再次。当我尝试修复它时,我遇到了一个循环。

我发现我可以尝试先用 .replace ("y","i",) 更改“RodrYguez”,然后我得到了我的解决方案,但我想一次性替换这个字符单词。

I found that i can try to change "RodrYguez" first with

print(nombre.strip().replace("Y", "i").lower().title().replace ("i","y", 1,))

then I got my solution but I want to replace this caracters words in 1 move.


可以这样做,无需循环替换即可实现你想要的效果:

name = " rIana Danyela RodrYguez "

# 分割成名字的各个部分
parts = name.strip().split()

# 对第一个和最后一个词进行替换
parts[0] = parts[0].replace("I", "y").capitalize()
parts[-1] = parts[-1].replace("Y", "i").capitalize()

# 合并成最终结果
new_name = " ".join(parts)

print(new_name)  # 输出: Ryana Danyela Rodriquez

代码解释:

  1. name.strip().split() : 首先去除字符串两端的空格,然后按照空格分割成列表,每个元素分别对应名字的一部分。
  2. parts[0] = ... parts[-1] = ... : 分别对列表的第一个元素(名)和最后一个元素(姓)进行操作。
    • 使用 .replace("I", "y") 将 "I" 替换为 "y";
    • 使用 .replace("Y", "i") 将 "Y" 替换为 "i";
    • 使用 .capitalize() 将单词首字母大写。
  3. " ".join(parts) : 使用空格将列表中的各个部分重新拼接成一个字符串。

这样,就能一次性完成对名字中特定字符的替换,而不会影响其他部分。

标签:python,string,variables,methods
From: 78790532

相关文章

  • Jupyter Notebook 环境中的 Python 版本不匹配
    我遇到Jupyter笔记本启动横幅中报告的Python版本与我在笔记本中查询python--version时显示的版本之间的差异。启动横幅指示Python3.11.9,但是当我运行!python--version时,它返回Python3.11.7。我所做的步骤:basecondahas3.11.7versio......
  • Python XML 解析:字符串中的“<”被阻塞
    我有一个使用ET.XMLParser来解析CppCheckXML报告文件的Python模块。当尝试解析字符串中包含“<”的XML元素中的属性之一时,它会令人窒息,它会将其解释为格式错误的XML,例如:<errormsg="Includefile<iostream>notfound.">(注意字符和“iostream”之间的空格必须放......
  • 任意几行代码要成为Python中的函数需要什么?
    我正在上一门计算机科学课,我的任务是创建一个程序来实现一个带有参数的函数。我的老师告诉我,下面的代码不是一个函数,这让我很困惑,对于将某些代码行归类为“函数”所需的条件,我感到很困惑。defgame(numbers,max_turns,pfl,tgl):turns=0flag=Falseprint("You......
  • 如何使用 Python 创建新的 Azure 订阅?
    我正在尝试使用PythonSDK以编程方式创建新的Azure订阅。我发现的对AzurePythonSDK的唯一引用是这个这是我最终得到的结果:importazure.mgmt.billingimportazure.mgmt.subscriptioncreds=AzureCliCredential()client_name='test'defcreat......
  • 用于打印脚本输出的 Python 实用程序
    我可以发誓有一个实用程序可以打印一个python脚本,其输出交织在一起。例如,给定一个脚本:a=2b=3print(a+b)print(a*b)该实用程序将输出a=2b=3print(a+b)#>5print(a*b)#>6有人知道该实用程序的名称吗?我最难找到它。谢谢你!描述的实用程序没有标......
  • a method to make some handy tools with python
    Inmyworkingofcomputer,therearealotofsimplejobsthatarefrequentlyrepeated.Itriedtofindawaytomakethesejobbeenprocessedeasily.Method1:Themethodiswritingascripttodothejob,andexecutingthescriptbyutoolsextensionuto......
  • Python网络爬虫详解:实战豆瓣电影信息采集
    文章目录前言一、爬虫是什么?二、常用库及其作用1.Requests2.BeautifulSoup3.lxml4.Scrapy5.Selenium6.PyQuery7.Pandas8.JSON9.Time三、实现步骤步骤一:环境准备步骤二:数据采集步骤三:数据处理步骤四:数据存储总结前言随着互联网的迅猛发展和数据分析需求的不......
  • python学习之内置函数
    Python拥有许多内置函数,这些函数是Python的一部分,不需要额外导入即可直接使用。这些函数提供了对Python解释器功能的直接访问,涵盖了从数学计算到类型检查、从内存管理到异常处理等各个方面。下面是一些常用的Python内置函数及其简要说明:一、Printprint函数大家都不会......
  • 【C#】-byte[]数组和string的互相转化 (四种方法)
    第一种stringstr=System.Text.Encoding.UTF8.GetString(bytes);byte[]decBytes=System.Text.Encoding.UTF8.GetBytes(str);同样的,System.Text.Encoding.Default,System.Text.Encoding.ASCII也是可以的。还可以使用System.Text.Encoding.UTF8.GetString(bytes).TrimEnd('\0......
  • Python中以函数为作用域
    点击查看代码#第一题foriteminrange(10):#不报错,没有函数,所有操作在全局作用域里面执行,item最后赋值为:9,此时item在缩进与全局都可以使用passprint(item)#第二题item=10deffunc():foriteminrange(10):#优先在本地查找,找不到在到全局查找p......