1、设计一个简单的计算器程序,用户输入运算数和四则运算符,输出计算的结果(请注意处理当输入除数为0的错误提示)。输入示例:5.8*6输出:5.8*6=34.8
时间: 2023-05-22 21:03:57 浏览: 1285
好的,以下是计算器程序的代码:
```python
while True:
try:
expr = input("请输入算式:")
if expr == "exit":
break # 输入 exit 退出程序
result = eval(expr) # 使用 eval 函数直接计算
print(f"{expr}={result}")
except ZeroDivisionError:
print("不能除以0,请重新输入。")
except:
print("输入格式有误,请重新输入。")
```
你可以输入类似 "1+2*3" 的算式来测试这个程序,它会直接计算并输出结果。如果输入包含除数为0的算式,程序会捕获异常并提示不能除以0。
请注意,这只是一个简单的计算器程序,没有进行很多错误检查和输入格式化,只能计算较简单的四则运算表达式,对于复杂的表达式可能会出错。如果需要更加强大的计算功能,可以考虑使用第三方库,如 sympy。
希望这个回答能对你有所帮助!
相关问题
用C语言设计一个简单的计算器程序,用户输入运算数和四则运算符,输出计算的结果。注意处理除法,当除数为0时,要给出“除数不能为0”的错误提示。 输入输出示例: 输入:3+5 输出:3+5=8 输入:58/0 输出:Error!除数不能为0。
```c
#include <stdio.h>
int main() {
float num1, num2, result;
char operator;
printf("请输入两个运算数和一个四则运算符,格式为:数1 运算符 数2\n");
scanf("%f %c %f", &num1, &operator, &num2);
switch (operator) {
case '+':
result = num1 + num2;
printf("%.2f %c %.2f = %.2f\n", num1, operator, num2, result);
break;
case '-':
result = num1 - num2;
printf("%.2f %c %.2f = %.2f\n", num1, operator, num2, result);
break;
case '*':
result = num1 * num2;
printf("%.2f %c %.2f = %.2f\n", num1, operator, num2, result);
break;
case '/':
if (num2 == 0) {
printf("Error!除数不能为0。\n");
} else {
result = num1 / num2;
printf("%.2f %c %.2f = %.2f\n", num1, operator, num2, result);
}
break;
default:
printf("输入有误!\n");
break;
}
return 0;
}
```
用C语言编写设计一个简单的计算器程序,用户输入运算数和四则运算符,输出计算的结果。注意处理除法,当除数为0时,要给出“除数不能为0”的错误提示。 输入输出示例: 输入:3+5 输出:3+5=8 输入:58/0 输出:Error!除数不能为0。
```c
#include <stdio.h>
int main()
{
double num1, num2, result;
char operator;
printf("请输入运算数和运算符,例如:3 + 5\n");
scanf("%lf %c %lf", &num1, &operator, &num2);
switch (operator)
{
case '+':
result = num1 + num2;
printf("%.2lf %c %.2lf = %.2lf\n", num1, operator, num2, result);
break;
case '-':
result = num1 - num2;
printf("%.2lf %c %.2lf = %.2lf\n", num1, operator, num2, result);
break;
case '*':
result = num1 * num2;
printf("%.2lf %c %.2lf = %.2lf\n", num1, operator, num2, result);
break;
case '/':
if (num2 == 0)
{
printf("Error!除数不能为0。\n");
}
else
{
result = num1 / num2;
printf("%.2lf %c %.2lf = %.2lf\n", num1, operator, num2, result);
}
break;
default:
printf("输入的运算符有误!\n");
break;
}
return 0;
}
```
阅读全文