题目
从标准输入读入两个整数 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