
Даю 30 баллов ( Сделать на Python ) Задание 2: - ограничить пользователю ввод либо только цифры,
либо только строки. При попытке ввести и то и то одновременно, попросить снова ввести информацию - если пользователь ввел цифры , запускается режим калькулятора. Далее следует уточнить какое математическое действие требуется выполнить (сложить/вычесть/умножить/разделить) и уточнить второе число. - если пользователь ввел буквы: - проверить является ли строка палиндромом; - вывести количество гласных букв; - вывести количество согласных букв;

Ответы на вопрос

# Код:
while True:
user_input = input("Введите цифры или строку: ")
if user_input.isdigit(): # проверка, является ли введённое значение цифрами
print("Режим калькулятора")
first_number = int(user_input)
operation = input("Выберите мат.действия (+, -, *, /): ")
second_number = int(input("Введите 2-оe число: "))
if operation == "+":
result = first_number + second_number
print(f"{first_number} + {second_number} = {result}")
elif operation == "-":
result = first_number - second_number
print(f"{first_number} - {second_number} = {result}")
elif operation == "*":
result = first_number * second_number
print(f"{first_number} * {second_number} = {result}")
elif operation == "/":
result = first_number / second_number
print(f"{first_number} / {second_number} = {result:.2f}")
elif user_input.isalpha():
palindrome = user_input[::-1]
if palindrome == user_input:
print(f"{user_input} - полиндром")
else:
print(f"{user_input} - не полиндром")
sogl = len([i for i in user_input if i in "йцкнгшщхфвпрлджчмстб"])
glas = len([i for i in user_input if i in "уеыаоэяию"])
print(f"В строке '{user_input}' {sogl} согласных и {glas} гласных букв.")



Вот Python-код, который реализует задание:
pythondef is_palindrome(s):
s = s.lower()
s = ''.join(filter(str.isalpha, s))
return s == s[::-1]
def count_vowels_and_consonants(s):
s = s.lower()
vowels = 'aeiou'
consonants = 'bcdfghjklmnpqrstvwxyz'
vowel_count = sum(1 for char in s if char in vowels)
consonant_count = sum(1 for char in s if char in consonants)
return vowel_count, consonant_count
def calculator_mode():
operation = input("Выберите математическое действие (сложить/вычесть/умножить/разделить): ")
if operation not in ('сложить', 'вычесть', 'умножить', 'разделить'):
print("Недопустимая операция. Попробуйте еще раз.")
return calculator_mode()
num2 = float(input("Введите второе число: "))
if operation == 'сложить':
result = num1 + num2
elif operation == 'вычесть':
result = num1 - num2
elif operation == 'умножить':
result = num1 * num2
else:
if num2 == 0:
print("На ноль делить нельзя.")
return calculator_mode()
result = num1 / num2
print(f"Результат: {result}")
user_input = input("Введите цифры или строки: ")
if user_input.isdigit():
num1 = float(user_input)
calculator_mode()
elif user_input.isalpha():
if is_palindrome(user_input):
print("Введенная строка - палиндром.")
else:
print("Введенная строка не является палиндромом.")
vowel_count, consonant_count = count_vowels_and_consonants(user_input)
print(f"Количество гласных букв: {vowel_count}")
print(f"Количество согласных букв: {consonant_count}")
else:
print("Пожалуйста, введите либо цифры, либо строки, но не и то, и другое одновременно.")
Этот код предоставляет пользователю возможность ввести либо цифры, либо строки. Если пользователь вводит цифры, программа переключается в режим калькулятора и предлагает выполнить одно из четырех математических действий. Если пользователь вводит строки, программа проверяет, является ли строка палиндромом, и выводит количество гласных и согласных букв.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili