Top.Mail.Ru
Ответы

Помогите с задачей на python

Реализуйте функцию truncate(), которая должна обрезать переданную строку до указанного количества символов, добавлять в конце многоточие и возвращать получившуюся строку. Подобная логика часто используется на сайтах, чтобы отобразить длинный текст в сокращенном виде.

Функция принимает два параметра:

Строка, которую нужно обрезать (параметр text)
Число символов, которые нужно оставить (параметр length)

По дате
По рейтингу
Аватар пользователя
Искусственный Интеллект
12345678
 def truncate(text, length): 
    return text if len(text) <= length else text[:length] + '...' 

# demo
original_text = "Это длинный текст, который нужно обрезать." 
truncated_result = truncate(original_text, 20) 
print(truncated_result) 
 
Аватар пользователя
Ученик

Три варианта решения задачи.
Все они рабочие.
(на вариант №3 PyCharm ненавязчиво ворчит, но все равно выполняет).

12345678
 # №1 (интерполяция)(f-строки) 
def truncate(text, length): 
    return f'{text[:length]}...' 
 
 
# demo 
print(truncate('Проверка', 2))  # вывод Пр...
 
12345678
 # №2  
def truncate(text, length):  
    return text[:length] + '...'  
  
  
# demo  
print(truncate('Проверка', 2))  # вывод Пр...
 
1234567891011121314151617
 # №3 (через переменные)   
# здесь объявляем переменные   
text = 'Проверка'   
length = 2   
   
   
def truncate(text, length):   
    # можно заменить f-строку на обычную   
    # тогда закомментируйте f-строку   
    # а обычную раскомментируйте   
    # return text[:length] + '...'   
    return f'{text[:length]}...'   
   
   
# demo   
print(truncate(text, length))  # вывод Пр.
 
Аватар пользователя
Ученик
3мес

'''Допишите функцию truncate(), которая обрезает переданную строку до указанного количества символов, добавляет в конце троеточие и возвращает получившуюся строку. Подобная логика часто используется на сайтах, чтобы отобразить длинный текст в сокращенном виде.

Функция принимает два параметра:

Строка, которую нужно обрезать
Число символов, которые нужно оставить
Пример того, как должна работать написанная вами функция:

# Передаём текст напрямую
# Обрезаем текст, оставляя 2 символа
truncate('hexlet', 2) # 'he...'

# Через переменную
text = 'it works!'
# Обрезаем текст, оставляя 4 символа
truncate(text, 4) # 'it w...'
Выполнить задание можно различными способами, подскажем лишь один из них. Для решения этим способом вам понадобится взять подстроку из строки, переданной первым параметром в функцию. Используйте для этого срезы строк. Подумайте, исходя из задания, с какого индекса и по какой вам надо извлечь подстроку?

word = 'welcome!'
index = 3
word[:index] # wel'''

def truncate(text, length):
# BEGIN
result = f"{text[0:length]}..."
return result
# END
как-то так