2024-09-29 17:11:12 发布
网友
这是我的第一篇文章,我完全忘了展示我已经尝试过的东西。我不是在寻找一个完整的程序,只是建议我可以用来连接缩写的方法。编辑
我需要创建一个程序,允许用户输入他们的全名,只打印缩写。这必须在不使用.SPLIT或LISTS的情况下完成
从我的硬件: 编写一个程序,获取一个人的全名&first,middle,和{}的字符串,然后显示他们的缩写。 创建一个函数getInitials()。在
first
middle
getInitials()
>>>Enter your full name: James Tiberias Kirk >>>J.T.K.
多亏了你的回答,我终于弄明白了。我们的老师希望我们只使用课堂上所学的知识,所以我只能用一种方法来写。最后我想到了这个:
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'))附加到结果中。在
ord('A') <= ord(char) <= ord('Z')
在大多数情况下,类似的方法应该是附加第一个字符,然后查找空格并在它们旁边附加一个字符。在
一种技术上不使用列表的解决方案:
'.'.join(i for i in x if i.isupper())+'.'
…使用生成器表达式,但这可能更接近于列表,而不是赋值的精神。和另一个答案一样,如果一个名字有多个大写字母(McGregor,等等),它就失败了
多亏了你的回答,我终于弄明白了。我们的老师希望我们只使用课堂上所学的知识,所以我只能用一种方法来写。最后我想到了这个:
假设您不处理像DeFranco或McDonald这样的名称,您可以在字符串上进行迭代,并将遇到的大写字母(即,
ord('A') <= ord(char) <= ord('Z')
)附加到结果中。在在大多数情况下,类似的方法应该是附加第一个字符,然后查找空格并在它们旁边附加一个字符。在
一种技术上不使用列表的解决方案:
…使用生成器表达式,但这可能更接近于列表,而不是赋值的精神。和另一个答案一样,如果一个名字有多个大写字母(McGregor,等等),它就失败了
相关问题 更多 >
编程相关推荐