此题涉及重复两次计算,只有分值不同。所以最好是可以写个函数,分别传入11和21作为获胜条件。
此外有两个陷阱:
坑点1 : 0 : 0也要输出
坑点2 : 分差 >= 2 才能结束比赛,需要清楚乒乓球规则。
以一位同学的代码为示例:
def calc(seq, win):
res, h, o = [], 0, 0
for c in seq:
h += (c == 'W')
o += (c == 'L')
if (h >= win or o >= win) and abs(h-o) >= 2:
res.append(f"{h}:{o}")
h, o = 0, 0
res.append(f"{h}:{o}")
return res
import sys
seq = ''.join([line.strip() for line in sys.stdin])
seq = seq[:seq.index('E')] if 'E' in seq else seq
print('\n'.join(calc(seq, 11)))
print()
print('\n'.join(calc(seq, 21)))



京公网安备 11010502036488号