Мне нужна ваша помощь, ребята! Так вот в чем дело: я недавно начал изучать Python и использую «хакерранк». Я застрял с одной из их проблем: https://www.hackerrank.com/challenges/the-minion-game/problem Я записал программу, которая отлично работает на pycharm, но дает неверный вывод на компилятор хакерранка. Я понятия не имею, почему это происходит ... Вот моя программа:
def trouve(thing_list,elem):
if elem in thing_list:
return(thing_list.index(elem))
else:
return -1
def operation1(S):
global i,j,T1,score1
r=i+1
while (r<=len(S)):
if trouve(T1,S[i:r])==-1:
T1.append(S[i:r])
score1[j]=1
j+=1
r+=1
else:
score1[T1.index(S[i:r])]+=1
r+=1
def operation2(S):
global u, t, T2, score2
p = u + 1
while (p <= len(S)):
if trouve(T2, S[u:p]) == -1:
T2.append(S[u:p])
score2[t] = 1
t += 1
p += 1
else:
score2[T2.index(S[u:p])] += 1
p += 1
def remplir1(S):
global T1,i,j
for i in range(len(S)):
if S[i] in ('a', 'e', 'i', 'o', 'u'):
operation1(S)
def remplir2(S):
global T2,u,t
for u in range(len(S)):
if not(S[u] in ('a', 'e', 'i', 'o', 'u')):
operation2(S)
def minion_game(S):
global i,j,T1,score1,T2,score2,u,t
T1=[]
T2=[]
score1=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
score2=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
i=0
j=0
t=0
u=0
remplir1(S)
remplir2(S)
s1=0
s2=0
i=0
for i in score1:
s1+=i
i=0
for i in score2:
s2+=i
if s2>s1:
print("Stuart {}".format(s2))
elif s1>s2:
print("Kevin {}".format(s1))
else:
print("Draw")
if __name__ == '__main__':
s = input()
minion_game(s)
(Например, для banana
выводится Stuart 21
вместо Stuart 12
, когда я запускаю программу на их компилятор)