使用拆分功能

时间:2018-12-22 17:55:39

标签: python

如何在python中大写输入句子的首字母? 输出必须为:输入要大写的句子:+输入句子

input_string =input("Enter sentence to be capitalized: ")
def capitalize_first(input_string):
    output=input_string.split('.')
    i=0
    while i<len(output)-1:
        result=output[i][0].upper()+output[i][1:]+"."
    print("Enter sentence to be capitalized:"+result)

3 个答案:

答案 0 :(得分:1)

input_string.title()怎么样?

input_string =input("Enter sentence to be capitalized: ")
def capitalize_first(input_string):
    result = input_string.title()
    print("Enter sentence to be capitalized:"+result)

此内置方法仅将首字符大写,而将其他字符保持较低,就像标题的工作方式一样。

如您所见,THIS IS AN AMAZING中的多余大写字母已更改。

>>> input_string = "Hello World THIS IS AN AMAZING day!!!"
>>> input_string.title()
>>> 'Hello World This Is An Amazing Day!!!'

答案 1 :(得分:0)

sentence="test Sentence"
print(sentence.title()) #makes the first letter of every word in sentence capital
print(sentence[0].upper()+sentence[1:] ) #retains case of other charecters
print(sentence.capitalize()) #makes all other charecters lowercase

输出:

测试句子

测试句子

测试语句

回答您的特定问题

def modify_string(str1):
    sentence_list=str1.split('.')
    modify_this=input("Enter sentence to be modified: ")
    for idx, item in enumerate(sentence_list):
            modify_this_copy=modify_this
            if item.lower().strip()==modify_this.lower().strip():
                sentence_list[idx]=modify_this_copy[0].upper()+modify_this_copy[1:]
    return '. '.join(sentence_list)
string1="hello. Nice to meet you. hello. Howdy."
print(modify_string(string1))

输出

输入要修改的句子:您好

你好很高兴见到你。你好。你好。

答案 2 :(得分:0)

我认为有很多方法可以这样做,但是title()是最简单的。您可以在for循环内使用upper()来迭代输入字符串,甚至大写。如果目标是仅将每个单词的首字母大写。然后,您将无法使用上述方法,因为它们以传统方式将单词大写(首字母为大写,其他字母为简单字母,无论用户输入了什么)。为了避免这种情况,请保留单词中所有大写字母的原样,就像用户输入的一样。 那么这可能是一个解决方案

inputString=input("Your statement enter value or whatever")
seperatedString=inputString.split()
for i in seperatedString:
    i[0].upper()
    print("Anything you want to say" + i)