Я хотел заглавной кулак письмо строки, но оставить остальныезаглавной первую букву строки, не касаясь других
Что у меня есть: Racecar
Что я хочу: Racecar
Я хотел заглавной кулак письмо строки, но оставить остальныезаглавной первую букву строки, не касаясь других
Что у меня есть: Racecar
Что я хочу: Racecar
Тогда просто заглавной первую букву с str.upper()
и сцепить остальное без изменений
string[0].upper() + string[1:]
Демо:
>>> string = 'racEcar'
>>> string[0].upper() + string[1:]
'RacEcar'
О, спасибо большое –
Вы должны делать, как предполагает Мартейн, но, чтобы сделать вашу функцию более надежной, нарежьте до первой буквы, так что вы не ошибка на пустой строке:
>>> rc = 'racEcar'
>>> newrc = rc[:1].upper() + rc[1:]
>>> newrc
'RacEcar'
так определить функцию, которая делает это:
def capfirst(s):
return s[:1].upper() + s[1:]
, а затем:
>>> capfirst(rc)
'RacEcar'
>>> capfirst('')
''
Если вы не хотите, чтобы была ошибка, если строка пуста, конечно. –
Если это действительно условие ошибки, то, конечно, но мне нравится кодировать [Принцип надежности] (https://en.wikipedia.org/wiki/Robustness_principle) –
Это уже было указано, но я решил показать его.
Использование capitalize()
делает то, что вы хотите, без дополнительной работы. Например,
def Cap1(string):
# will not error if empty, and only does the first letter of the first word.
return string.capitalize()
Использование title()
может потребовать дополнительной работы, если у вас есть несколько слов. Например,
давайте предположим, что ваша строка: «Я хочу пиццу»
def cap2(string):
return string.title()
Выход был бы: «Я хочу пиццу»
Другим способом вы можете использовать upper()
является:
def cap3(string):
if not len(string) == 0:
return string[0].upper()
Существует несколько ответов на это по адресу http://stackoverflow.com/questions/12410242/python-capitalize-first-letter-only. Использование функций capize() и title() - это типичные ответы, например. 'racEcar'.ititle() и' racEcar'.capitalize(). –
@TrisNefzger: и оба будут ошибочными в этом вопросе, так как эти методы очерчивают остальные. –
можете ли вы получить пустые строки? –