通过率 71% · 提交 273 · 通过 195
小慕正在开发一个简易计算器,它能够对两个进行加法或减法运算。 每行输入格式为: A B 其中 op 是单词 add 或 sub。 add 表示计算 A + B 的结果,sub 表示计算 A - B 的结果。
这类题属于算法机考高频题型中「基础语法 / ACM模式练习」方向的高频题型,通常考察对「基础语法 / ACM模式练习」的建模能力与边界条件处理。掌握本题的解题思路后,可举一反三应对同类真题方向,稳步提升机考通过率。
提示:带虚线的词点一下有通俗解释。
输入一个数字n,表示接下来输入n行。 接下来输入n行,每一行都以 op A B 这样的格式输入。 其中op为单词add或sub,A和B为整整数。
1 <= n <= 10 -100 <= A, B <= 100
输出n行,每一行包含一个数字,表示每组两个数字的计算结果
示例 1
输入示例
2 add 1 2 add 3 4
输出示例
3 7
示例 2
输入示例
3 add -1 1 sub 2 -2 add 3 -3
输出示例
0 4 0
时间限制 1000 ms · 内存限制 128 MB
本平台为独立第三方培训机构,与华为技术有限公司无任何关联;课程的服务内容与权益以购买协议为准,学习效果因个人情况而异。「华为 OD」「华为可信」等仅为对岗位与考试方向的客观描述,相关商标归各自权利人所有。
题意一句话:实现一个只有加减法的小计算器——每行给出 op A B(op 为 add 或 sub),add 输出 A+B,sub 输出 A-B。
这是「按格式解析一行输入 + 条件分支」的模拟题:一行里既有单词又有数字,用 split() 按空格切开,第一段是操作符、后两段转成整数,再根据操作符选择加或减即可。
1. 参考代码先读入一个整数 n(数据组数),再循环 n 次逐行处理; 2. 每行 input().split() 切成三段,解包为 op, a, b; 3. a、b 用 int() 转成整数; 4. op == 'add' 输出 a + b,否则(即 sub)输出 a - b,每组一行。
split() 不带参数会自动合并连续空格,比 split(' ') 更稳;a、b 从字符串转成 int,否则 + 会变成字符串拼接、- 直接报错;else 兜底处理 sub 分支。n = int(input())
for _ in range(n):
op, a, b = input().split()
a, b = int(a), int(b)
if op == 'add':
print(a + b)
else:
print(a - b)登录后可查看你在本题的历史提交,以及每次的各用例通过情况。
© 2026 广州慕课网络科技有限公司 · 吴师兄学算法官网 版权所有