你怎么能把一个完整的名字格式化成只是首字母? (X.X.X.)

问题描述:

我想把一个完整的名字变成一个字符串的首字母缩写。我的逻辑是大写字符串中的所有名称,将空格中的字符串拆分为一个列表,然后选择每个索引的第一个字符,然后将这些字符加入由句点分隔的单个字符串中。你怎么能把一个完整的名字格式化成只是首字母? (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

嗨检查这个例子时,

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

哦,我应该已经能够自己想出一个。无论谢谢你的帮助,这是我的第一语言,所以学习如何做这些事情是一个挑战! –

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


main()