Вопрос Программирование на python

Регистрация
13 Май 2013
Сообщения
82
Репутация
1
Спасибо
0
Монет
0
Написать функцию capitalize(s), которая принимает на вход исходную строку s и возвращает строку с восстановленными заглавными буквами.

Функция работает по следующему алгоритму:

* сделать заглавной первую букву в строке, не считая пробелы;

* сделать заглавной первую букву после точки, восклицательного или вопросительного знака, не считая пробелы.
 
пример функции на Python, которая реализует требуемый алгоритм:

def capitalize(s):
# Разбиваем строку на список слов
words = s.split()

# Обрабатываем первое слово
if words:
words[0] = words[0].capitalize()

# Обрабатываем остальные слова
for i in range(1, len(words)):
# Если перед словом есть точка, восклицательный или вопросительный знак,
# то делаем заглавной первую букву слова, не считая пробелы
if words[i-1][-1] in '.!?':
words = words.capitalize()

# Соединяем слова обратно в строку
return ' '.join(words)
Пример использования:


s = 'привет, мир! как дела?'
print(capitalize(s))
Вывод:

Привет, мир! Как дела?
 
def capitalize(s):
result = ""
capitalize_next = True

for i in range(len(s)):
if s == " ":
result += " "
capitalize_next = True
elif capitalize_next:
result += s.upper()
capitalize_next = False
else:
result += s

if s in ".!?":
capitalize_next = True

return result
 
def capitalize(s):
# Разделяем строку на список слов, используя пробелы как разделители
words = s.split()

# Обрабатываем первое слово отдельно
if len(words) > 0:
# Делаем первую букву заглавной
words[0] = words[0][0].upper() + words[0][1:]

# Обрабатываем остальные слова
for i in range(1, len(words)):
# Если предыдущее слово заканчивается на точку, восклицательный или вопросительный знак,
# делаем первую букву текущего слова заглавной
if words[i-1][-1] in ".!?":
words = words[0].upper() + words[1:]

# Склеиваем слова обратно в строку и возвращаем её
return " ".join(words)


Например, вызов capitalize("hello, world! this is a test.") вернёт строку "Hello, world! This is a test.".
 
Назад
Сверху