python-3.x 小矮人游戏[已关闭]

cgh8pdjw  于 2022-12-14  发布在  Python
关注(0)|答案(1)|浏览(145)

已关闭。此问题需要超过focused。当前不接受答案。
**想要改进此问题吗?**更新此问题,使其仅关注editing this post的一个问题。

8小时前关门了。
Improve this question
我需要一些帮助与下面的小黄人游戏的代码:凯文和史都华想玩“小黄人游戏”。
游戏规则
两个玩家都有相同的字符串,两个玩家都要用字符串的字母组成子字符串。斯图尔特要用辅音字母组成单词。凯文要用元音字母组成单词。当两个玩家都完成了所有可能的子字符串后,游戏结束。

def minion_game(string):
# your code goes here
n = len(string)
comb = ((n)*(n+1))/2
count_k = 0
count_s = 0
count_k = sum([len(string[i:]) for i in range(len(string)) if string[i] in "AEIOU"])
count_s = comb - count_k

if count_s == count_k:
    print("Draw")
elif count_s > count_k:
    print("Stuart", int(count_s) )
else:
    print("Kevin", int(count_k))

这满足了所有测试用例,除了一个由于时间限制超过,有人能帮我简化这个代码吗?

q8l4jmvw

q8l4jmvw1#

len(string[i:])

这个函数取string,复制它的一个子字符串,然后丢弃这个副本,因为你知道n是整个字符串的长度,string[i:]是字符串,但是从位置i开始,你知道len(string[i:])n - i,所以用n - i替换那个不必要的字符串副本。

相关问题