用于查找小黄人游戏获胜者的分数和名称的 Python 程序
假设有两个玩家 Amal 和 Bimal。他们在玩游戏。游戏规则如下 -
两个玩家都有相同的字符串 s。
他们都必须使用 s 的字母来制作子串。
Bimal 必须使单词以辅音开头。
Amal 必须使单词以元音开头。
当两个玩家都完成所有可能的子串时,游戏将结束。
现在的评分标准是这样的:一个玩家在字符串 s 中每次出现子字符串时获得 1 分。我们必须找到这场比赛的赢家和他的得分。
因此,如果输入类似于 s = "BANANA",那么输出将是 Bimal, 12 因为
词 : 香蕉 | |||
阿迈勒 | Bimal(WINNER) | ||
Substring | 分数 | Substring | 分数 |
A | 3 | B | 1 |
AN | 2 | N | 2 |
ANA | 2 | BA | 1 |
ANAN | 1 | NA | 2 |
ANANA | 1 | BAN | 1 |
NAN | 1 | ||
BANA | 1 | ||
NANA | 1 | ||
BANAN | 1 | ||
BANANA | 1 | ||
共 9 | 共 12 个 |
示例
让我们看下面的实现来更好地理解
def solve(word):vowels = set('AEIOU')
p1 = 0
p2 = 0
for i, c in enumerate(word):
if c in vowels:
p2 += len(word) - i
else:
p1 += len(word) - i
if p1 > p2:
return 'Bimal', p1
elif p2 > p1:
return 'Amal', p2
else:
return 'Draw'
word = "BANANA"
print(solve(word))
输入
"BANANA"输出结果
('Bimal', 12)
以上是 用于查找小黄人游戏获胜者的分数和名称的 Python 程序 的全部内容, 来源链接: utcz.com/z/331629.html