這個問題是針對一個學校項目,所以不要給出我的確切答案XD 但請告訴我如何開始它。我一直在嘗試幾個小時,但我無法得到它。這裏的問題是:我需要幫助來創建名稱更改程序
在Python中創建一個函數,接受標準形式的名稱,並將它們打印形式:
例如輸入到輸出 聖誕老人克勞斯,S. 邁克爾·J·福克斯福克斯,M. J. 麥當娜麥當娜 威廉·亨利·理查德·查爾斯·溫莎溫莎,W. H. R. C.
這個問題是針對一個學校項目,所以不要給出我的確切答案XD 但請告訴我如何開始它。我一直在嘗試幾個小時,但我無法得到它。這裏的問題是:我需要幫助來創建名稱更改程序
在Python中創建一個函數,接受標準形式的名稱,並將它們打印形式:
例如輸入到輸出 聖誕老人克勞斯,S. 邁克爾·J·福克斯福克斯,M. J. 麥當娜麥當娜 威廉·亨利·理查德·查爾斯·溫莎溫莎,W. H. R. C.
所以你需要一個函數,它的名字,例如
def convert_name(name):
那麼我想你想的名字分成第一,最後和中間名(如果適用):
subnames = name.split() # split the name on whitespace
之後,你應該檢查的各種情況包含什麼在子名稱中。以麥當娜爲例,一種情況可能是
if (len(subnames) == 1): return subnames[0]
希望能幫助你開始!
您將需要一種算法,它將輸入字符串按空格分隔。然後,您將採取這些分隔字符串的最後一個,並將其添加到您的輸出字符串。如果有更多的名字在後面,你將不得不添加一個逗號。之後,從第一個字符串開始取其他字符串,並檢查它們是否已經以「[A-Z]」的形式出現。如果沒有,將它們轉換成這種形式。否則,只需將它們添加到您的輸出。而已。我可以更精確,但你要求不要:)
好的,然後使用String.Split()
要將字符串更改爲列表,然後使用len()
來計算元素。使用循環for
並創建新的字符串。
你必須學習正則表達式 – eyquem