Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我需要有关创建名称更改程序的帮助_Python_Function_Project_Output - Fatal编程技术网

Python 我需要有关创建名称更改程序的帮助

Python 我需要有关创建名称更改程序的帮助,python,function,project,output,Python,Function,Project,Output,这个问题是针对学校项目的,所以不要给出我的确切答案XD 但请告诉我怎么开始。我已经试了好几个小时了,但是我就是弄不懂。问题是: 在python中创建一个函数,该函数接受标准形式的名称并以以下形式打印: 例如,从输入到输出 圣诞老人致圣诞老人,S。 迈克尔·J·福克斯对福克斯,M·J。 麦当娜对麦当娜 威廉·亨利·理查德·查尔斯·温莎到温莎,W.H.R.C.所以你需要一个包含名字的函数,例如 def convert_name( name ): 然后,我认为您需要将名称分为第一个、最后一个和中间的

这个问题是针对学校项目的,所以不要给出我的确切答案XD 但请告诉我怎么开始。我已经试了好几个小时了,但是我就是弄不懂。问题是:

在python中创建一个函数,该函数接受标准形式的名称并以以下形式打印:

例如,从输入到输出 圣诞老人致圣诞老人,S。 迈克尔·J·福克斯对福克斯,M·J。 麦当娜对麦当娜
威廉·亨利·理查德·查尔斯·温莎到温莎,W.H.R.C.

所以你需要一个包含名字的函数,例如

def convert_name( name ):
然后,我认为您需要将名称分为第一个、最后一个和中间的名称(如果适用):

之后,您应该检查子名称中包含的内容的各种情况。以麦当娜为例,一个案例可能是

if (len(subnames) == 1): return subnames[0]

希望这能帮助你开始

您将需要一种算法,该算法用空格分隔输入字符串。然后取最后一个分开的字符串并将其添加到输出字符串中。如果后面有更多名称,则必须添加逗号。然后,从第一个字符串开始,取其他字符串,并检查它们是否已经是“[A-Z]”形式。如果不是,则将其转换为该形式。否则,只需将它们添加到输出中即可。就这样。我可以更精确一些,但您要求不要:)

好的,然后使用
String.Split()
将字符串更改为列表,然后使用
len()
对元素进行计数。对使用循环
,并创建新字符串

你必须学习正则表达式
if (len(subnames) == 1): return subnames[0]