我正在编写一个函数,它应该接受一个字符串输入并返回每个单词的每个首字母都为大写字母的字符串,我已经在一定程度上实现了这一点。
我的代码:
string = input("Please Enter A string:")
def capitalize_words(string):
split = string.split()
letter1 = ''
letter2 = ''
letter3 = ''
str1 = split[0]
str2 = split[1]
str3 = split[2]
for i in str1:
if i in str1[0]:
first = i.upper()
else:
letter1 = letter1 + i
string1 = (first+letter1)
for i in str2:
if i in str2[0]:
first = i.upper()
else:
letter2 = letter2 + i
string2 = (first+letter2)
for i in str3:
if i in str3[0]:
first = i.upper()
else:
letter3 = letter3 + i
string3 = (first+letter3)
result = string1+' '+string2+' '+string3
return result
func = capitalize_words(string)
print(func)
输入:
Please Enter A string:herp derp sherp
输出:
Herp Derp Sherp
然而,这是非常不灵活的,因为我只能输入 3 个带空格的单词,不多不少,这是一个相当原始的程序。我希望能够输入任何内容并获得期望的结果,无论我输入多少个单词,每个单词的第一个字母都是大写字母。
我担心以我的技能,这是我所能达到的极限,如果可能的话,你能改进我的程序吗?
请您参考如下方法:
>>> print(raw_input('Please Enter A string: ').title())
Please Enter A string: herp derp sherp
Herp Derp Sherp
