文字列入力を受け取り、すべての単語の最初の文字をすべて大文字にして文字列を返す関数を作成しています。これをある程度達成しました。
私のコード:
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 つの単語しか入力できないため、これは非常に柔軟性がありません。これはかなり原始的なプログラムになります。何語でも入力できるようにして、入力する単語数に関係なく、すべての単語の最初の文字が大文字になるという望ましい結果を得たいと思います。
私のスキルでは、これが私のできる限りのことではないかと心配しています。可能であれば、私のプログラムを改善していただけませんか。