应用
现在有一场特殊投篮积分制比赛,开始时,记分员得到一个用于记录操作的列表,元素均为字符串,规则如下:
整数:本回合新获得分数;
+:本回合新获得分数是前2次得分的总和:
D:本回合新获得分数是前一次得分的2倍;
C:本回合没有分数、前一次得分移除;
请计算得分总和。
实现
str = input("请输入字符串列表,以空格分隔元素:").split()
ops = [i for i in str]
score = []
sum = 0
for i in ops:
match i:
case "+":
score.append(score[-2] + score[-1])
case "D":
score.append(2 * score[-1])
case "C":
score.remove(score[-1])
case _:
score.append(int(i))
for i in score:
sum = sum + i
print(sum)
请输入字符串列表,以空格分隔元素:5 2 C D +
30