Найти тему
Варечка Окаянная

Python МГУ МФК часть 2 осень 2023

Оглавление

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

-2

Наука
7 млн интересуются