У редактора школьной газеты Кости опять проблемы. Авторов мало, тексты слишком короткие. Костя предложил авторам увеличить каждое слово до n символов.
Дана строка и число n, которое больше длины строки. Продублируй первый и последний символы строки столько раз, чтобы длина строки была равна n. Этих добавленных в начале и в конце слова символов должно быть поровну. Если невозможно добавить равное количество символов так, чтобы длина строки стала равна n, справа можно добавить точку.
1. Проверяет, если длина слова уже >= n, возвращает исходное слово
2. Вычисляет сколько символов нужно добавить всего (n - текущая длина)
3. Делит это число на 2, чтобы узнать сколько добавить с каждой стороны
4. Проверяет остаток от деления - если есть, значит нужна точка справа
5. Формирует новое слово:
- Добавляет первую букву слева нужное число раз
- Добавляет исходное слово
- Добавляет последнюю букву справа нужное число раз
- При необходимости добавляет точку
### Шаги:
1. Определим длину исходной строки.
2. Посчитаем, сколько символов нужно добавить в начало и конец строки, чтобы длина стала равна `n`.
3. Если добавление символов в начало и конец не позволяет получить нужную длину, добавим точку справа.
### Решение:
Пусть дана строка `s` и число `n`.
1. Найдем длину строки `s`: `len_s = len(s)`.
2. Вычислим, сколько символов нужно добавить: `diff = n - len_s`.
3. Разделим `diff` на 2, чтобы понять, сколько символов нужно добавить в начало и конец: `half_diff = diff // 2`.
4. Если `diff` нечетное, добавим точку справа.
if diff
return s[0] * half_diff + s + '.' + s[-1] * half_diff
else:
return s[0] * half_diff + s + s[-1] * half_diff
# Пример использования:
print(удлинни_word("abc", 10)) # "aabbcc."
```
### Объяснение:
- Мы добавляем половину `diff` символов из начала и конца строки.
- Если `diff` нечетное, добавляем точку справа, чтобы длина строки стала равной `n`.
def increase_word_length(word, n):
if n <= len(word): # Проверка, что n больше длины строки
return word
length_to_add = n - len(word)
if length_to_add % 2 == 0: # Если можем добавить поровну
left_add = right_add = length_to_add // 2
else: # Если нельзя, добавляем по половине и точку
left_add = length_to_add // 2
right_add = length_to_add // 2 + 1
first_char = word[0]
last_char = word[-1]
return (first_char * left_add) + word + (last_char * right_add)
# Пример использования
input_string = "hello"
n = 10
result = increase_word_length(input_string, n)
print(result) # Вывод: "hhhello...."
Эта функция принимает строку word и число n, и корректно изменяет длину строки в соответствии с заданными условиями.