Создай консольное приложение “Калькулятор”. Приложение должно читать из консоли введенные пользователем строки, числа, арифметические операции проводимые между ними и выводить в консоль результат их выполнения.
python
def calculate(expression):
try:
result = eval(expression)
return result
except:
return "Ошибка при вычислениях"
def main():
print("Добро пожаловать в Калькулятор!")
print("Введите выражение для вычисления или 'выход' для завершения программы:")
while True:
user_input = input("> ")
if user_input.lower() == "выход":
break
result = calculate(user_input)
print(f"Результат: {result}")
if __name__ == "__main__":
main()
В данном примере используется функция `eval()`, которая выполняет вычисления, с использованием введенной строки. Однако, данный подход имеет некоторые ограничения и небезопасен при обработке пользовательского ввода. Чтобы улучшить безопасность и предотвратить выполнение вредоносного кода, рекомендуется использовать библиотеку `ast` для анализа и выполнения арифметических выражений.
python
import ast
def calculate(expression):
try:
node = ast.parse(expression, mode='eval')
result = eval(compile(node, '<string>', 'eval'))
return result
except:
return "Ошибка при вычислениях"
Теперь программа будет более безопасной, так как она не будет выполнять пользовательский код напрямую.
Также, можно добавить функциональность для обработки различных ошибок, таких как деление на ноль или ввод некорректных данных пользователем. В этом случае программа будет предупреждать пользователя об ошибках и продолжать работу.
Вывод программы может выглядеть следующим образом:
Добро пожаловать в Калькулятор!
Введите выражение для вычисления или 'выход' для завершения программы:
> 2 + 2
Результат: 4
> 5 / 0
Ошибка при вычислениях
> выход
Таким образом, консольное приложение "Калькулятор" позволяет пользователю выполнять арифметические операции с введенными числами, обрабатывая исключительные ситуации и выводя результаты на экран.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет