You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Na função main(), a linha "p, n, x= entrada()" está tentando passar as variáveis p, n e x como argumentos para a função main(), mas essas variáveis não foram definidas ou dado um valor ainda. Então você precisa passar os valores para p e n e x antes de chamar a função sapinho() como p = int(input()) e n = int(input()). (ex)
Na função verifica(), você não está retornando nada quando a instrução if-else é falsa. Você deve retornar False em vez de nada.
O loop na função main() sempre imprimirá 'VOCÊ GANHA', mesmo que a condição na instrução if-else seja verdadeira. Isso ocorre porque o loop sempre será executado até a conclusão antes que a instrução if-else seja verificada. Para corrigir isso, você deve mover a instrução print('YOU WIN') para fora do loop for, para que seja executada apenas se o loop for concluído sem interrupção.
O meu código ficou assim (com outros nomes de funções):
def main():
ap, nc = map(int, input().split()) #entradas
a = input().split()
for i in range(len(a)):
a[i] = int(a[i])
jogo = False
for i in range(nc - 1):
jogo = pulinho(a[i], a[i+1], ap)
if jogo == True:
print('GAME OVER')
break
if jogo == False:
print('YOU WIN')
main()
The text was updated successfully, but these errors were encountered:
Há alguns problemas com este código:
Na função main(), a linha "p, n, x= entrada()" está tentando passar as variáveis p, n e x como argumentos para a função main(), mas essas variáveis não foram definidas ou dado um valor ainda. Então você precisa passar os valores para p e n e x antes de chamar a função sapinho() como p = int(input()) e n = int(input()). (ex)
Na função verifica(), você não está retornando nada quando a instrução if-else é falsa. Você deve retornar False em vez de nada.
O loop na função main() sempre imprimirá 'VOCÊ GANHA', mesmo que a condição na instrução if-else seja verdadeira. Isso ocorre porque o loop sempre será executado até a conclusão antes que a instrução if-else seja verificada. Para corrigir isso, você deve mover a instrução print('YOU WIN') para fora do loop for, para que seja executada apenas se o loop for concluído sem interrupção.
O meu código ficou assim (com outros nomes de funções):
def pulinho(a1, a2, ap):
if abs(a1 - a2) > ap:
return True
else:
return False
def main():
ap, nc = map(int, input().split()) #entradas
a = input().split()
for i in range(len(a)):
a[i] = int(a[i])
jogo = False
for i in range(nc - 1):
jogo = pulinho(a[i], a[i+1], ap)
if jogo == True:
print('GAME OVER')
break
if jogo == False:
print('YOU WIN')
main()
The text was updated successfully, but these errors were encountered: