题目

从标准输入读入两个整数 a、b 和一个字符运算符(+、-、*、/),输出运算结果;除法时若 b 为 0 则提示错误。

输入格式:一行输入两个整数和一个字符运算符(+、-、*、/),以空格分隔。

输出格式:输出运算结果;若遇到除以 0 或未知运算符,输出对应提示信息并换行。

数据范围与约定:-105 ≤ a, b ≤ 105。

思路与算法

1. 输入切分与解包
使用 parts = input().split() 拆出三个元素,前两项通过 int() 转为数值,第三项为运算符字符串。

2. 运算符分支匹配
根据 op 的字符类型,分别使用 if - elif - else 分发计算;/ 运算前先行拦截 b == 0。

完整程序

parts = input().split()
a, b = int(parts[0]), int(parts[1])
op = parts[2]

if op == '+':
    print(a + b)
elif op == '-':
    print(a - b)
elif op == '*':
    print(a * b)
elif op == '/':
    # 除法特判:除数不能为 0,防止除零错误
    print(a // b if b != 0 else '除数为 0')
else:
    print('未知运算符')

运行示例

输入:

10 3 *

输出:

30

其它写法

下面每种写法都是完整程序,输入输出格式与正文一致,便于对照。

字典映射运算符

把四则运算函数放进 dict,除法单独判 b==0。

程序:

#!/usr/bin/python3
# coding=utf-8

parts = input().split()
a, b = int(parts[0]), int(parts[1])
op = parts[2]
ops = {
    "+": lambda x, y: x + y,
    "-": lambda x, y: x - y,
    "*": lambda x, y: x * y,
}
if op == "/":
    print(a // b if b != 0 else "除数为 0")
elif op in ops:
    print(ops[op](a, b))
else:
    print("未知运算符")

输入:

10 3 *

输出:

30