2017-10-13 34 views
1

我想把一個完整的名字變成一個字符串的首字母縮寫。我的邏輯是大寫字符串中的所有名稱,將空格中的字符串拆分爲一個列表,然後選擇每個索引的第一個字符,然後將這些字符加入由句點分隔的單個字符串中。你怎麼能把一個完整的名字格式化成只是首字母? (X.X.X.)

我遇到了麻煩,不知道是否有更好的方法。

這是我目前的進度:

def main(): 
    fstn= input("Enter your full name:") 

    fstn=fstn.title() 
    fstn= fstn.split(" ") 
    for i in fstn: 
     fstn= i[0] 
     print(fstn) 


main() 

此打印出每個初始另一條線路,我如何完成這個?

+0

的可能的複製[如何不換行或空格打印嗎?](https://stackoverflow.com/questions/493386/how-to-print -without-newline-or-space) – Kevin

回答

0

嗨檢查這個例子時,

def main(): 
    fstn= input("Enter your full name:") 
    fstn=fstn.title() 
    fstn= fstn.split(" ") 
    out_str = "" 
    for i in fstn: 
     out_str = out_str + i[0] + "." 
    print(out_str) 

main() 
+0

完美的工作,唯一的問題是我需要用句號分隔首字母縮寫。所以如果我理解正確的話,你初始化了輸出字符串,所以它在循環的每一次迭代中都被更新了,對嗎?謝謝您的幫助。 –

+0

我剛加入它,再次檢查@MarcusColinHarvison – Stack

+0

哦,我應該已經能夠自己想出一個。無論謝謝你的幫助,這是我的第一語言,所以學習如何做這些事情是一個挑戰! –

2
def main(): 
    fstn= input("Enter your full name:") 
    print ('.'.join(word[0] for word in fstn.split(" ")).upper()) #for python 3 


main() 
相關問題