capoia 0 Denunciar post Postado Setembro 18, 2016 Boa noite, sou estudando e agora estou aprendendo phyton na faculdade, o professor deu o seguinte enunciado : 1. Elabore um código (função) que peça o nome do usuário e o armazene em uma variável.2. Obtenha o tamanho do nome inserido e armazene-o em outra variável.3. Utilize a biblioteca RANDOM para gerar um número aleatório.4. Faça um laço de repetição onde a quantidades de chances que o usuário terá de acertar o número será igual a quantidade de letras do nome inserido.5. Se o usuário acertar o número, retorne algum indicativo de acerto. Se não, retorne algum indicativo de que ele errou.6. Na função principal, faça um laço de repetição para verificar se o usuário acertou a última rodada ou não. Dependendo do retorno, elabore um placar, onde será contabilizado a cada rodada, quantas vitórias e quantas derrotas o usuário teve.7. Verifique se o usuário deseja continuar jogando para permanecer dentro do laço. Caso contrário, termine o programa. então eu fiz o seguinte código: import random def nome(): nome = input ('Informe seu nome: ') print('O tamanho do seu nome é: ' + str(len(nome))) qtdnome = str(len(nome)) return int(qtdnome) def tente(qtdnome): naleatorio = random.randint(1,15) while qtdnome > 0: print ('Digite um numero maior que 0: ' + int(input(palpite))) qtdnome = qtdnome -1 if int(palpite) == naleatorio: print ('Parabens! Voce ganhou , o numero aleatorio era: ' + naleatorio) return 1 elif palpite <= 0: print ('Voce digitou um numero invalido') qtdnome = qtdnome++ else: print ('Voce errou, tente novamente!') if qtdnome == 0: print ('Voce perdeu!') return 0 ## Começo do algoritmo! ## qtdnome = nome() print ('Suas chances sao: '+ qtdnome) print ('Deseja jogar? Digite 1 para jogar: ') jogarnovamente = input while jogarnovamente == 1: resultado = tente() if resultado == 1: print ('Voce acertou da ultima vez!') acertos = acertos++ else: print ('Voce errou da ultima vez!') erros = erros++ print ('Total de vezes que voce acertou: ' + acertos) print ('Total de vezes que voce errou: ' + erros) Porem na hora de compilar ele fala que tem erro ali na linha do ELIF , mais precisamente deixa selecionado em vermelho o elif ! Sou iniciante ainda e ele não especifica o erro, fica difícil de eu achar, alguém poderia me explicar? Compartilhar este post Link para o post Compartilhar em outros sites
Felipe-Petrópolis 11 Denunciar post Postado Setembro 18, 2016 Olá! Olha de certa forma tambem sou iniciante, não dei uma observada na sitaxe em si e no que o algoritmo deveria fazer, mas . . . Aqui eu encontrei 2 problemas principais: - Ao que parece identação de certas partes do código estavam erradas e precisaram ser corrigidas: def tente ( qtdnome ): naleatorio = random.randint ( 1, 15 ) while qtdnome > 0: print ( 'Digite um numero maior que 0: ' + int ( input ( palpite ) ) ) qtdnome = qtdnome -1 if int( palpite ) == naleatorio: print ( 'Parabens! Voce ganhou , o numero aleatorio era: ' + naleatorio ) return 1 elif palpite <= 0: print ( 'Voce digitou um numero invalido' ) qtdnome = qtdnome+1 else: print ( 'Voce errou, tente novamente!' ) if qtdnome == 0: print ( 'Voce perdeu!' ) return 0 - Outro problema era com relação ao erro de sintaxe incorreta quando tentando usar ++ como incremento: acertos = acertos++ sendo assim eu a substitui por: acertos = acertos + 1 - Alem de outros pequenos problemas que tenho certeza que voce vai conseguir sanar! Obs.: Aqui eu teste o codigo no Python 3.4.3 embora na maior parte absoluta das vezes não seja dificil de se descobrir, é sempre bom especificar a versão Python usada! Ubuntu 14.04 LTS - Python 2.7.6 - Python 3.4.3 Esperto Ter Ajudado ! ! ! Compartilhar este post Link para o post Compartilhar em outros sites