用于分割句子单词以仅获得第一个大写字母的功能

时间:2017-12-03 23:26:45

标签: python python-3.x

您好我正在尝试为Python 3.6.1创建一个函数,用户可以插入一个句子,输出将是每个单词后面的第一个字母。和空间。即Hello World - > H. W。

我创建了下面的代码,但我无法使其正常工作。我只得到第一个字母,不知怎的,它忽略了第二个或第三个字等等。任何想法如何解决?

def initials(text):
    x = ""
    for text in text.split():
          x += text[0].upper()+". "
          return x

st= input("give sentance:")
print(initials(st))

Python 3.6.1(默认,2015年12月,13:05:11) Linux上的[GCC 4.8.2]

给予发送:你好世界 H.

我希望H. W.

谢谢!

2 个答案:

答案 0 :(得分:0)

试试这个:

def initials(text):
    text += " " # add a space to the end of text
    result = ""
    # str.find returns -1 if the specified string is not found
    while text.find(" ")>-1:
        # the if statement gets rid of extra spaces so they are
        # not included in the initials
        if text[0] != " ":
            result += text[0].upper() + ". "
        text = text[text.find(" ")+1:]
    return result

st= input("give sentance:")
print(initials(st))

答案 1 :(得分:-1)

您的代码看起来应该像这样:

sen = input("Please enter a string ")
sen = sen.split()
for i in sen:
    num = i[0]
    print(num,end="")

它会打印每个单词的第一个字母!