我想缩写一个名字和一个姓氏。例如,如果我输入 Diesan Romero (那是我的名字),我要把名字的首字母还给你。D.R 与那个中间点。
我不知道该从哪里开始。于是我去查阅Python文档,尝试将文本字符串转换为一个列表,对列表进行迭代,然后选择那些大写的字符。这是我目前实现的代码。
def convertToList(name):
lista = []
for i in name:
if i.isupper():
lista.append(i)
return lista
if __name__ == "__main__":
print(convertToList("Diesan Romero"))
在这段代码中,我尝试创建列表,但它只给我返回一个值。
如果你的名字将始终以格式--"first last",你也许能做到以下几点。
def get_initials(name):
names = name.split(' ')
return ' '.join([f"{n[0]}." for n in names])
print(get_initials('John Doe'))
def convertToList(name):
final_name = []
name_list = name.split()
for i in name_list:
final_name.append(i[0])
print '.'.join(final_name)
convertToList('Diesan Romero')
看起来你一找到大写字母就会返回列表。试着把 "return "去掉两个制表符,把它移到for循环结束后。