编写一个程序,输入一个正整数 repeat (0<repeat<10),做repeat 次下列运算: 程序模拟简单运算器的工作:输入一个算式(没有空格),遇等号"="说明输入结束,输出结果。 假设计算器只能进行加减乘除运算,运算数和结果都是整数,4 种运算符的优先级相同,按 从左到右的顺序计算。
时间: 2023-06-16 15:04:26 浏览: 193
好的,我明白了你的问题。以下是用 Python 语言编写的程序,可以实现你所描述的功能:
```
repeat = int(input("请输入 repeat 的值: ")) # 输入 repeat 的值
for i in range(repeat):
expr = ""
while "=" not in expr: # 输入算式,当遇到等号时跳出循环
expr += input()
operands = [] # 存储算式中的操作数
operators = [] # 存储算式中的运算符
num = "" # 存储当前操作数
for c in expr:
if c.isdigit(): # 如果是数字字符,加到 num 后面
num += c
else: # 不是数字字符,说明操作数结束,将其转换成整数
operands.append(int(num))
num = ""
if c != "=": # 如果不是等号,说明接下来有运算符
operators.append(c)
# 将最后一个操作数添加到列表中
operands.append(int(num))
# 依次计算加减乘除
while len(operators) > 0:
op = operators.pop(0) # 取出第一个运算符
a = operands.pop(0) # 取出第一个操作数
b = operands.pop(0) # 取出第二个操作数
if op == "+":
result = a + b
elif op == "-":
result = a - b
elif op == "*":
result = a * b
else:
result = a // b # 整除运算
operands.insert(0, result) # 将计算结果插入到操作数列表的头部
print("结果是:", operands[0]) # 输出最终结果
```
以上是程序的完整代码。当你运行程序时,它会提示你输入 repeat 的值,然后执行 repeat 次运算。每次运算,你需要输入一个算式,以等号结尾。程序将会计算算式的值,并输出结果。需要注意的是,程序中使用的是整除运算符 "//",这意味着程序只会输出整数结果,即便有小数部分也会被舍去。
阅读全文