如何在python中缩写两个字的名字?

问题描述 投票:0回答:1

我想缩写一个名字和一个姓氏。例如,如果我输入 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"))

在这段代码中,我尝试创建列表,但它只给我返回一个值。

python
1个回答
2
投票

如果你的名字将始终以格式--"first last",你也许能做到以下几点。


def get_initials(name):

    names = name.split(' ')
    return ' '.join([f"{n[0]}." for n in names])


print(get_initials('John Doe'))


3
投票
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')

1
投票

看起来你一找到大写字母就会返回列表。试着把 "return "去掉两个制表符,把它移到for循环结束后。

© www.soinside.com 2019 - 2024. All rights reserved.