2013-10-04 75 views
0

這個問題是針對一個學校項目,所以不要給出我的確切答案XD 但請告訴我如何開始它。我一直在嘗試幾個小時,但我無法得到它。這裏的問題是:我需要幫助來創建名稱更改程序

在Python中創建一個函數,接受標準形式的名稱,並將它們打印形式:

例如輸入到輸出 聖誕老人克勞斯,S. 邁克爾·J·福克斯福克斯,M. J. 麥當娜麥當娜 威廉·亨利·理查德·查爾斯·溫莎溫莎,W. H. R. C.

+0

你必須學習正則表達式 – eyquem

回答

0

所以你需要一個函數,它的名字,例如

def convert_name(name): 

那麼我想你想的名字分成第一,最後和中間名(如果適用):

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

之後,你應該檢查的各種情況包含什麼在子名稱中。以麥當娜爲例,一種情況可能是

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

希望能幫助你開始!

0

您將需要一種算法,它將輸入字符串按空格分隔。然後,您將採取這些分隔字符串的最後一個,並將其添加到您的輸出字符串。如果有更多的名字在後面,你將不得不添加一個逗號。之後,從第一個字符串開始取其他字符串,並檢查它們是否已經以「[A-Z]」的形式出現。如果沒有,將它們轉換成這種形式。否則,只需將它們添加到您的輸出。而已。我可以更精確,但你要求不要:)

0

好的,然後使用String.Split()要將字符串更改爲列表,然後使用len()來計算元素。使用循環for並創建新的字符串。