您好我正在尝试为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.
谢谢!
答案 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="")
它会打印每个单词的第一个字母!