0

这个问题是针对学校项目的,所以不要给出我的确切答案 XD 但请告诉我如何开始。我已经尝试了几个小时,但我就是无法得到它。这是问题:

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

例如 INPUT 到 OUTPUT Santa Claus 到 Claus,S. Michael J. Fox 到 Fox,MJ Madonna 到 Madonna William Henry Richard Charles Windsor 到 Windsor,WHRC

4

3 回答 3

0

因此,您需要一个带有名称的函数,例如

def convert_name( name ):

然后我认为您想将名称拆分为名字、姓氏和中间名(如果适用):

subnames = name.split() # split the name on whitespace

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

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

希望这有助于您入门!

于 2013-10-04T22:14:19.167 回答
0

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

于 2013-10-04T22:14:21.537 回答
0

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

于 2013-10-04T22:14:48.890 回答