python 2023 a 2 Текстовые данные
Введение.
Всем привет! Я тут подумала хорошо будет поделиться своими решениями по питону!
Пожалуйста подпишитесь на мой канал про мою жизнь в МГУ "Варечка Окаянная")))
1. Количество символов в строке
Задана строка s, состоящая из символов. Необходимо посчитать их количество |s|.
Формат ввода:
Cтрока s.
Формат вывода:
Для каждой строки выведите одно число |s|, равное длине s.
Примечания:
Обратите внимание, что входные данные считываются или из стандартного ввода (с клавиатуры), или из файла input.txt (см. рекомендации к вводу-выводу).
Обратите внимание на формат вывода. Результат работы программы нужно выводить с помощью print() (см. рекомендации к вводу-выводу).
Не забывайте, что пробел и \textbackslash n - тоже символы. Их тоже нужно учитывать при подсчёте количества символов.
Ответ:
input_string = input()
count = len(input_string)
print(count)
2. Строка в обратном порядке
Измените порядок символов в строке s на обратный.
Формат ввода:
Строка s.
Формат вывода:
Строка s в обратном порядке.
Примечания:
Для решения задачи предлагается использовать срезы.
Ответ:
input_string = input()
reversed_string = input_string[::-1]
print(reversed_string)
3. Какой логин?
Из почтового адреса нужно достать логин.
Примечания:
Длина логина не обязательно равняется 4 символам, как это указано в примере (на вход вашей программе подается неизвестный почтовый адрес).
Для поиска подстроки можно использовать find() и срезы строк.
Описание метода find() можно найти с помощью help().
Ответ:
email = input()
login = email.split('@')[0]
print(login)
4. Подстрока в двойных кавычках
Найдите подстроку, заключенную в двойных кавычках в строке s.
Ответ:
input_str = input()
start_index = input_str.find('"')
if start_index != -1:
end_index = input_str.find('"', start_index + 1)
if end_index != -1:
substring = input_str[start_index + 1:end_index]
print(substring)
else:
print()
else:
print()
5. Поменялись!
В строке записаны два числа, разделенные пробелом. Поменяйте их местами и напечатайте результат.
Ответ:
input_str = input()
numbers = input_str.split()
if len(numbers) == 2:
try:
num1 = int(numbers[0])
num2 = int(numbers[1])
num1, num2 = num2, num1
print(num1, num2)
except ValueError:
print()
else:
print()
6. Как? Как угодно!
Человек вводит на сайте номер телефона, ему позволено для удобства использовать кроме плюса и цифр знаки ‘-’, ‘)’, ‘(’ и пробелы. Уберите их из ввода.
Формат ввода:
На вход подаётся строка s.
Формат вывода:
Строка s без лишних символов, указанных в задании.
Примечания:
Условие не ограничивает количество и порядок использования указанных символов. Их может быть сколько угодно. Ваша цель - просто удалить из входной строки все такие символы.
Для склеивания двух строк можно использовать операцию конкатенации (с помощью +), рассмотренную на лекции.
Ответ:
phone_number = input()
cleaned_number = ''.join(c for c in phone_number if c.isdigit() or c in '+')
print(cleaned_number)
7. Щйхс Чёибса
В книге "Жизнь двенадцати цезарей" историк Светоний писал про хитрый метод, который использовал Гай Юлий Цезарь для передачи секретных сообщений.
Позже этот метод, делающий текст понятным только отправителю и получателю, был назван Шифр Цезаря.
Кодирование таким шифром происходит следующим образом:
Каждая буква входного сообщения заменяется на букву, следующую за ней в алфавите: "А"->"Б", "е"->"ё" и т.д.
Любые другие символы остаются без изменений.
Вам предлагается написать программу, которая помогла бы Цезарю зашифровать его сообщение по указанному алгоритму. Сообщение записано на английском языке.
Формат ввода:
Cтрока s на английском языке.
Формат вывода:
Строка s, преобразованная шифром Цезаря.
Примечания:
Строка вводится на английском языке.
Размер букв сохраняется: строчная буква превращается в строчную, прописная - в прописную.
Для простоты преобразования считаем, что во входной строке нет букв z или Z.
Для решения можно использовать:
итерацию по строке;
для проверки, является ли символ буквой - операцию str.isalpha() (подробнее - см. help());
операцию ord() для получения кода символа,
операцию chr() для превращения кода символа в символ (операция обратна к ord(): chr(ord(c))==c, где c - некоторый символ).
Считаем, что и строчные, и прописные буквы связаны следующим соотношением: выражение ord(c)+1 всегда даёт код буквы, следующей за данной буквой c в алфавите. Например: ord('a')+1 - код символа 'b', ord('C')+1 - код символа 'D'.
Ответ:
def caesar_cipher(text, shift):
result = ""
for char in text:
if char.isalpha():
is_upper = char.isupper()
char = chr(((ord(char) - ord('A' if is_upper else 'a') + shift) % 26) + ord('A' if is_upper else 'a'))
result += char
return result
message = input()
shift = 1
encrypted_message = caesar_cipher(message, shift)
print(encrypted_message)
Спасибо!
Телеграмм Свалка астронома Ai 🦄 MSU
Телеграмм Варечкин Блокнот 🌸 MSU
ВК Школа https://vk.com/mgu_gdz Физиув UwU
Дзен https://dzen.ru/varechka_uni_physics