Поиск по сайту:

Программа Python для сохранения первых N элементов строки и замены оставшихся на K


В этой статье мы узнаем, как использовать внутренние функции Python, такие как len(), slicing(), replace(), ljust(), чтобы сохранить первый N элемент строки и заменить оставшиеся на k. Строки Python легко создаются путем простого заключения букв в кавычки. Python обрабатывает одинарные и двойные кавычки одинаково. Присвоить значение переменной и создать строку очень просто.

Пример

Предположим, мы взяли значения входной строки N, K. Теперь мы сохраним первые N символы входной строки и заменим их заданным символом K, используя описанные выше методы.

Вход

inputString = 'tutorialspoint'
input_N = 9
input_K = "#"

Выход

Retaining N{9} characters and replacing rest with '#': tutorials#####

В приведенном выше примере учебники первых N(9) символов входной строки сохраняются, а остальные символы заменяются входным K, т. е. #< /б> символ.

Использование оператора *, нарезки и функции len()

В этом методе мы собираемся использовать оператор * и внутренние функции, такие как Slicing и len(), чтобы сохранить первые N элементов строки, а затем заменить оставшиеся на K. Здесь функция len() — это количество элементов в объекте. возвращается методом len().

Алгоритм (шаги)

Ниже приводится алгоритм/шаги, которым необходимо следовать для выполнения желаемой задачи.

  • Создайте переменную для хранения входной строки.

  • Распечатайте входную строку.

  • Создайте еще одну переменную для хранения входного количества N элементов, которые нужно сохранить.

  • Создайте еще одну переменную для хранения входного символа K, который будет заменен остальными элементами.

  • Разрежьте первые N символов строки, чтобы сохранить первые N элементов.

  • Умножьте данный символ на оставшееся количество оставшихся элементов.

  • Объедините две приведенные выше строки с помощью оператора +.

  • Выведите результирующую строку, сохранив входные N элементов и заменив оставшиеся входным k-символом.

Пример

Следующая программа возвращает строку после сохранения входных элементов N и замены оставшихся входным символом k с использованием оператора *, разрезания и функции len():

# input string
inputString = 'tutorialspoint'
# printing input string
print("Input string:", inputString)
# input number of elements to be retained
input_N = 9
# input character to be replaced with rest of other elements
input_K = "#"
# Slicing till the input N index to retain the first N elements
# Multiplying the remaining number of elements with the replaced character
resultantStr = inputString[:input_N] + input_K * (len(inputString) - input_N)
# printing resultant string after retaining and replacing with the input character
print("Retaining N{9} characters and replacing rest with '#':", resultantStr)

Выход

При выполнении вышеуказанная программа сгенерирует следующий вывод:

Input string: tutorialspoint
Retaining N{9} characters and replacing rest with '#': tutorials#####

Использование функций нарезки, ljust() и len()

В этом методе мы не собираемся использовать внутренние функции Python, такие как нарезка, ljust() и len(), для выполнения поставленной задачи.

Синтаксис

string.ljust(length, character)

Здесь функция ljust() используется для выравнивания строки по левому краю с заданным символом в качестве символа заполнения. Пробел является символом по умолчанию.

Пример

Следующая программа возвращает строку после сохранения входных элементов N и замены оставшихся входным символом k с использованием функций нарезки, ljust() и len():

# input string
inputString = 'tutorialspoint'
# printing input string
print("Input string:", inputString)
# input the number of elements to be retained
input_N = 9
# input character to be replaced with rest of other elements
input_K = "#"
# Slicing till the input N index to retain the first N elements
# Applying ljust() function to add remaining characters with the replaced character
resultantStr = inputString[:input_N].ljust(len(inputString), input_K)
# printing resultant string after retaining and replacing with the input character
print("Retaining N{9} characters and replacing rest with '#':", resultantStr)

Выход

При выполнении вышеуказанная программа сгенерирует следующий вывод:

Input string: tutorialspoint
Retaining N{9} characters and replacing rest with '#': tutorials#####

Использование функции replace()

В этом методе мы собираемся использовать функцию замены Python, чтобы сохранить первый N элемент строки и заменить оставшиеся на K.

Синтаксис

string.replace(old, new, count)

Здесь функция replace() возвращает копию строки, которая заменяет все вхождения старой подстроки другой новой подстрокой.

Алгоритм (шаги)

Ниже приводится алгоритм/шаги, которые необходимо выполнить для выполнения желаемой задачи:

  • Создайте функцию replaceString(), которая сохраняет первые N элементов строки и заменяет оставшиеся элементы входными K, принимая входную строку в качестве аргумента.

  • Замените оставшиеся символы заданным символом k, используя функцию replace().

  • Верните результирующую строку после сохранения и замены ее входным символом.

  • Создайте переменную для хранения входной строки.

  • Распечатайте входную строку.

  • Создайте еще одну переменную для хранения входного количества N элементов, которые нужно сохранить.

  • Создайте еще одну переменную для хранения входного символа K, который будет заменен остальными элементами.

  • Вызовите определенную выше функцию replaceString(), передав ей входную строку в качестве аргумента.

Пример

Следующая программа возвращает строку после сохранения входных элементов N и замены оставшихся входным символом k с помощью функции replace():

# creating a function that retains the first N Elements of a string and
# replace the remaining with K by accepting the input string as an argument
def replaceString(inputString):
    # Replacing the remaining characters with the given k character
    resultantStr = inputString.replace(
        inputString[input_N:], input_K*len(inputString[input_N:]))
    # returning resultant string after retaining and replacing with the input character
    return str(resultantStr)

inputString = 'tutorialspoint'
# printing input string
print("Input string:", inputString)
# input number of elements to be retained
input_N = 9
# input character to be replaced with rest of other elements
input_K = "#"
print("Retaining N{9} characters and replacing rest with '#':")
# calling the above defined replaceString() function by passing the
# input string as an argument to it
print(replaceString(inputString))

Выход

При выполнении вышеуказанная программа сгенерирует следующий вывод:

Input string: tutorialspoint
Retaining N{9} characters and replacing rest with '#':
tutorials#####

Заключение

Эта статья показала нам три различных способа сохранить первые N элементов строки и заменить оставшиеся K другой строкой. Мы узнали, как добавлять элементы в конец строки с помощью метода ljust(). Кроме того, мы узнали, как создать строку символов из n элементов, используя оператор * для умножения символа на n.

Статьи по данной тематике: