实现一个简易版的计算器:支持+ - * \
时间: 2024-05-10 20:19:21 浏览: 13
好的,以下是一个简易版的计算器实现代码,支持加减乘除:
```python
while True:
# 读取输入
expression = input("请输入表达式(如 1+2)或输入 q 退出:")
# 判断是否退出
if expression == 'q':
break
# 进行计算
try:
result = eval(expression)
print(f"结果为:{result}")
except:
print("输入表达式有误,请重新输入。")
```
运行效果如下:
```
请输入表达式(如 1+2)或输入 q 退出:2+3*4
结果为:14
请输入表达式(如 1+2)或输入 q 退出:(10-5)*3
结果为:15
请输入表达式(如 1+2)或输入 q 退出:12/3-2
结果为:2.0
请输入表达式(如 1+2)或输入 q 退出:q
```
注意:这个计算器只是一个简单的实现,不具备复杂表达式的处理能力,例如括号、函数等。
相关问题
¢编写一个计算器,完成+-*/ 运算 ¢ (1)定义一个接口Compute含有一个方法 int computer(int a,int b); (2)设计四个类分别实现此接口,完成+-*/运算 (3)设计一个测试类,完成+-*/运算,输出如下运行结果:
以下是 Java 代码实现:
```java
// 计算器接口
interface Compute {
int compute(int a, int b);
}
// 加法类
class Add implements Compute {
public int compute(int a, int b) {
return a + b;
}
}
// 减法类
class Subtract implements Compute {
public int compute(int a, int b) {
return a - b;
}
}
// 乘法类
class Multiply implements Compute {
public int compute(int a, int b) {
return a * b;
}
}
// 除法类
class Divide implements Compute {
public int compute(int a, int b) {
if (b == 0) {
throw new IllegalArgumentException("除数不能为 0!");
}
return a / b;
}
}
// 测试类
public class Calculator {
public static void main(String[] args) {
Compute add = new Add();
Compute subtract = new Subtract();
Compute multiply = new Multiply();
Compute divide = new Divide();
int a = 10, b = 5;
System.out.println(a + " + " + b + " = " + add.compute(a, b));
System.out.println(a + " - " + b + " = " + subtract.compute(a, b));
System.out.println(a + " * " + b + " = " + multiply.compute(a, b));
System.out.println(a + " / " + b + " = " + divide.compute(a, b));
}
}
```
输出结果:
```
10 + 5 = 15
10 - 5 = 5
10 * 5 = 50
10 / 5 = 2
```
使用shell编写计算器,实现+-*/、开方、平方、3次方功能。
好的,这是一个编程问题,我可以回答。您可以通过使用shell编写脚本来实现这个计算器功能。你可以使用read命令来获取用户输入操作和数值,然后使用shell中的数学运算符(+、-、*、/)以及平方、立方、开方等函数来执行计算操作。以下是一个基本的示例:
```bash
#!/bin/bash
echo "请输入数字1:"
read num1
echo "请输入数字2:"
read num2
echo "请选择操作符(+、-、*、/、^2、^3、sqrt):"
read operator
if [ "$operator" == "+" ]; then
result=$(echo "$num1 + $num2" | bc)
elif [ "$operator" == "-" ]; then
result=$(echo "$num1 - $num2" | bc)
elif [ "$operator" == "*" ]; then
result=$(echo "$num1 * $num2" | bc)
elif [ "$operator" == "/" ]; then
result=$(echo "scale=4;$num1 / $num2" | bc)
elif [ "$operator" == "^2" ]; then
result=$(echo "$num1^2" | bc)
elif [ "$operator" == "^3" ]; then
result=$(echo "$num1^3" | bc)
elif [ "$operator" == "sqrt" ]; then
result=$(echo "scale=4;sqrt($num1)" | bc)
else
echo "无效的操作符"
fi
echo "结果是:$result"
```
注意,在计算除法时使用了“scale=4”的设置来保留四位小数。您还可以根据需要添加其他操作和函数。