Условия задачи:
Корректор предложений. Напишите программу с функцией, принимающей в качестве аргумента строковое значение и возвращающей его копию, в котором первый символ каждого предложения написан в верхнем регистре. Например, если аргументом является
"привет! меня зовут джо. а как твое имя?", то эта функция должна вернуть строковое значение 'Привет! Меня зовут Джо. А как твое имя?'. Программа должна предоставить пользователю возможность ввести строковое значение и затем передать его в функцию.
Модифицированное строковое значение должно быть выведено на экран.
Решение задачи:
#общая концепция. С большой буквы начинается сообщение в любом случае.
#Дальше большая буква появляется после знаков препинания точки восклицательного
#и вопросительного знаков отслеживаем эти знаки как только появились
#через 1 знак переносим букву в большм регистре.
def main():
def edit_msg(value):
new_msg = ''
flag = False
for i in range(len(value)):
if i == 0:
if value[i].isalpha():
new_msg += value[i].upper()
else:
new_msg += value[i].upper()
elif (value[i] == '.' or value[i] == '!' or value[i] == '?') and i !=len(value)-1:
new_msg += value[i]
litter = i + 2
flag = True
continue
elif flag:
if i == litter:
new_msg += value[i].upper()
flag = False
else:
new_msg += value[i]
else:
new_msg += value[i]
return new_msg
msg = input('Введите сообщение: ')
print(f'Старое сообщение: {msg}')
print(f'Новое сообщение: {edit_msg(msg)}')
main()