Программа Python для случайного ввода заглавных букв в строках
В этой статье мы узнаем, как случайным образом преобразовывать символы в верхний регистр в строках с помощью Python.
Используемые методы
Ниже приведены различные методы выполнения этой задачи:
Использование функций join(), choice(), Lower(), Upper().
Использование функций random.randInt() и random.sample().
Использование функций map(), choice(), zip()
Пример
Предположим, мы взяли входную строку. Теперь мы случайным образом преобразуем символы входной строки в верхний регистр, используя вышеуказанные методы.
Вход
inputString = 'tutorialspoint'
Выход
String after converting chars lower or uppercase randomly:
tUToriaLsPOINT
В этом примере мы преобразуем символы входной строки «tutorialspoint» в верхний регистр случайным образом.
Метод 1: использование функций join(), choice(), low и Upper.
lower — преобразует все символы верхнего регистра в строку в символы нижнего регистра.
Функция random.choice() (случайным образом выбирает элемент из последовательности, например списка, кортежа, диапазона чисел).
upper — преобразует все символы нижнего регистра в строку в символы верхнего регистра.
join() — join() — это строковая функция в Python, которая используется для объединения элементов последовательности, разделенных разделителем строк. Эта функция соединяет элементы последовательности для преобразования в строку.
Алгоритм (шаги)
Ниже приведены алгоритмы/шаги, которые необходимо выполнить для выполнения желаемой задачи.
Используйте ключевое слово import, чтобы импортировать функцию choice из модуля случайных чисел.
Создайте переменную для хранения входной строки.
Распечатайте входную строку.
-
Пройдитесь по каждому символу входной строки и случайным образом выберите символы верхнего или нижнего регистра, используя метод random.choice(). Здесь соединение используется для преобразования в строку
Распечатайте результирующую строку после случайного преобразования символов входной строки в верхний регистр.
Пример
Следующая программа возвращает строку после случайного преобразования символов входной строки в верхний регистр с помощью функций join(), random.choice(), low и Upper:
# importing choice from the random module
from random import choice
# input string
inputString = 'tutorialspoint'
# printing input string
print("Input String:", inputString)
# traversing through each character of a string and selecting
# either upper or lowercase char randomly using choice()
# here join is used to convert to a string
randchars_str = ''.join(choice((str.upper, str.lower))(char) for char in inputString)
# printing resultant string after converting chars lower or uppercase randomly
print("String after converting chars lower or uppercase randomly:\n", randchars_str)
Выход
При выполнении вышеуказанная программа сгенерирует следующий вывод:
Input String: tutorialspoint
String after converting chars lower or uppercase randomly:
tUTORIAlSPOInT
Способ 2. Использование функций random.randInt() и random.sample().
Метод random.randint(): возвращает случайное число в указанном диапазоне.
Метод random.sample(): возвращает список, содержащий случайно выбранное количество элементов из последовательности.
Синтаксис
random.sample(sequence, k)
Алгоритм (шаги)
Ниже приводится алгоритм/шаги, которые необходимо выполнить для выполнения желаемой задачи:
Преобразуйте данную входную строку в список с помощью функции list().
Подсчитайте количество случайных индексов, которые необходимо преобразовать в верхний регистр, с помощью функции random.randInt().
Получите количество случайных элементов выше n от 0 до длины списка, передав длину списка и количество необходимых элементов в качестве аргументов функции random.sample().
-
Сохраните приведенные выше индексы в список, например, randomIndexList.
Пройдите через указанный выше randomIndexList, используя цикл for.
Преобразуйте строковый элемент по этому индексу в верхний регистр с помощью функции Upper().
Объедините все элементы списка и преобразуйте их в строку с помощью функции join().
Распечатайте результат.
Пример
Следующая программа возвращает строку после случайного преобразования символов входной строки в верхний регистр, используя –
import random
# input string
inputString = 'tutorialspoint'
# printing input string
print("Input String:", inputString)
# Converting string to list
stringList = list(inputString)
# Getting the number of random indexes to be modified to upper case
n = random.randint(0, len(stringList)-1)
# Getting above n number of random elements from 0 to the length of the list
randomIndexList = random.sample(range(0, len(stringList)-1), n)
# Traversing the above index list
for index in randomIndexList:
# Converting the corresponding index string element to the upper case
stringList[index] = stringList[index].upper()
# Joining all the list elements and Converting to string
result = ''.join(stringList)
# printing resultant string after converting chars lower or uppercase randomly
print("String after converting chars lower or uppercase randomly:\n", result)
Выход
При выполнении вышеуказанная программа сгенерирует следующий вывод:
Input String: tutorialspoint
String after converting chars lower or uppercase randomly:
tUToriaLsPOINT
Способ 3. Использование функций map(), choice(), zip().
Функция random.choice() (случайным образом выбирает элемент из последовательности, например списка, кортежа, диапазона чисел).
random.choice(sequence)
Функция zip() используется для объединения двух списков/итераторов.
Алгоритм (шаги)
Ниже приводится алгоритм/шаги, которые необходимо выполнить для выполнения желаемой задачи:
Используйте ключевое слово import, чтобы импортировать функцию choice из модуля случайных чисел.
Заархивируйте нижний и верхний символы строки с помощью функции zip и выберите любой из них с помощью метода random.choice().
Примените это ко всем элементам строки с помощью функции map().
Преобразуйте этот объект карты в строку с помощью функции join().
Напечатайте результирующую строку после случайного преобразования символов входной строки в верхний регистр.
Пример
Следующая программа возвращает строку после случайного преобразования символов входной строки в верхний регистр с помощью функций map(), random.choice() и zip():
# importing choice from the random module
from random import choice
# input string
inputString = 'tutorialspoint'
print("Input String:", inputString)
# extending logic to each character using a map,
# and selecting upper or lower for each character
randchars_str = ''.join(map(choice, zip(inputString.lower(), inputString.upper())))
# printing resultant string after converting chars lower or uppercase randomly
print("String after converting chars lower or uppercase randomly:\n", randchars_str)
Выход
При выполнении вышеуказанная программа сгенерирует следующий вывод:
Input String: tutorialspoint
String after converting chars lower or uppercase randomly:
TutoRIaLsPoInt
Заключение
В этой статье мы узнали, как преобразовывать случайные заглавные буквы в строки, используя три разных подхода. Мы также узнали, как генерировать случайное целое число с помощью randInt(), генерировать n случайных чисел в виде списка с помощью sample() и выбирать один случайный элемент с помощью choice().