Skip to content

02946: 玩游戏

http://cs101.openjudge.cn/practice/02946/

有三个小朋友一起玩游戏。游戏从一个起始整数 k 开始,第一个小朋友会说 plus, minus , multiply 三种运算中的一种 f;第二个小朋友会说一个整数 a ,第三个小朋友必须说出 k 与 a 进行 f 运算的结果 s 。这时 s 成为第二轮游戏开始的整数,第一个小朋友再说一种运算,第二个小朋友再说一个整数,第三个小朋友说出运算结果,第二轮游戏结束时的运算结果成为第三轮的起始整数,如此下去。现在给出起始整数 k 和若干轮游戏中第一个小朋友说出的运算符以及第二个小朋友说出的整数,要求你写一个程序模拟这个游戏过程,求出最后一轮的运算结果。

输入

第一行包含两个整数,第一个整数是游戏的起始整数 k,第二个是游戏进行的轮数 N。 接下来 N 行,每行有一个运算符和一个整数,它们之间用一个空格隔开。

输出

输出只有一行,包含一个整数,即游戏最后一轮的运算结果。

样例输入

7 5
multiply 10
minus 5
plus 6
multiply -1
minus -5

样例输出

-66

来源

医学部计算概论2006期末考试题

python
# 读取第一行输入,获取起始整数 k 和游戏轮数 N
k, N = map(int, input().split())

# 循环进行 N 轮游戏
for _ in range(N):
    # 读取每一轮的运算符和整数
    operator, a = input().split()
    a = int(a)
    # 根据运算符进行相应的运算
    if operator == "plus":
        k = k + a
    elif operator == "minus":
        k = k - a
    elif operator == "multiply":
        k = k * a

# 输出最后一轮的运算结果
print(k)