在python中不使用spli将缩写与全名输入分开

2024-09-29 17:11:12 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的第一篇文章,我完全忘了展示我已经尝试过的东西。我不是在寻找一个完整的程序,只是建议我可以用来连接缩写的方法。编辑

我需要创建一个程序,允许用户输入他们的全名,只打印缩写。这必须在不使用.SPLIT或LISTS的情况下完成

从我的硬件: 编写一个程序,获取一个人的全名&firstmiddle,和{}的字符串,然后显示他们的缩写。 创建一个函数getInitials()。在

>>>Enter your full name: James Tiberias Kirk
>>>J.T.K. 

Tags: 方法函数字符串用户程序编辑middle硬件
3条回答

多亏了你的回答,我终于弄明白了。我们的老师希望我们只使用课堂上所学的知识,所以我只能用一种方法来写。最后我想到了这个:

def getInitials():
fullName=input("Enter your full name:")
initials=''
for ch in fullName:
    if ch.isupper():
        initials+=ch
        initials=str(initials)+"."
print (initials)

if __name__=="__getInitials__":
    getInitials()
getInitials()

假设您不处理像DeFranco或McDonald这样的名称,您可以在字符串上进行迭代,并将遇到的大写字母(即,ord('A') <= ord(char) <= ord('Z'))附加到结果中。在

在大多数情况下,类似的方法应该是附加第一个字符,然后查找空格并在它们旁边附加一个字符。在

一种技术上不使用列表的解决方案:

'.'.join(i for i in x if i.isupper())+'.'

…使用生成器表达式,但这可能更接近于列表,而不是赋值的精神。和另一个答案一样,如果一个名字有多个大写字母(McGregor,等等),它就失败了

相关问题 更多 >

    热门问题