CAIOG94 Postado Março 28, 2022 Compartilhar Postado Março 28, 2022 n= int(input("Digite quantidade de valores para a Lista A: ")) A=[] i=0 QTDE=0 while i<n : X = int(input("Digite o elemento {} da lista A: ".format(i+1))) A.append(X) QTDE = QTDE + 1 i = i + 1 N = int(input("Digite um numero aleátorio: ")) if N in A: for N in A: x=0 N = 0 print("\n O elemento {} consta na posição {} ".format(X, i-1)) N=N+1 i = i + 1 x = x + 1 else: print("\n O elemento {} não consta na lista A ".format(N)) print("\n\nFim do Programa") Link to comment Compartilhe em outros sites Outras opções de compartilhamento...
geovaniif Postado Março 29, 2022 Compartilhar Postado Março 29, 2022 oi! Não entendi muito bem o código, pois no python a identação é o que define o escopo, acho que seria melhor um print. Entretanto, eu vi que vc faz um "for N in A", mas já existe uma variavel chamada N, isso aqui vai causar problemas pois vc está substituindo o N anterior. Eu acredito que é mais facil usar um List Comprehension, fica bem facil de entender Sua lista é A, vamos chamar de minha_lista, pra facilitar o valor para procurar na lista chama-se N, vamos chamar de valor_procurar_na_lista base fazer um: indices = [i for i, x in enumerate(minha_lista) if x == valor_procurar_na_lista] agora seu indice é um array com todos os indices que contem aquele elemento se isso nao resolver, manda um print do código e do erro pra ficar mais facil de entender, ou coloca o código 100% identado (acho que o print vai ser mais facil) Link to comment Compartilhe em outros sites Outras opções de compartilhamento...
CAIOG94 Postado Março 29, 2022 Autor(a) Compartilhar Postado Março 29, 2022 Boa Tarde! segue o print do codigo. Realmente tentei usar o que me informou para usar array ,mas nao consegui. enunciado do exercicio: Escreva um programa que leia do teclado um número inteiro N e em seguida preencha uma lista com N elementos aleatórios. Em seguida, o programa deve ler um número inteiro X e informar se o valor de X está na lista, bem como em qual posição. Se houver mais de uma ocorrência de X na lista, todas devem ser informadas. Link to comment Compartilhe em outros sites Outras opções de compartilhamento...
CAIOG94 Postado Março 29, 2022 Autor(a) Compartilhar Postado Março 29, 2022 2 horas atrás, CAIOG94 disse: Boa Tarde! segue o print do codigo. Realmente tentei usar o que me informou para usar array ,mas nao consegui. enunciado do exercicio: Escreva um programa que leia do teclado um número inteiro N e em seguida preencha uma lista com N elementos aleatórios. Em seguida, o programa deve ler um número inteiro X e informar se o valor de X está na lista, bem como em qual posição. Se houver mais de uma ocorrência de X na lista, todas devem ser informadas. @geovaniif 1 Link to comment Compartilhe em outros sites Outras opções de compartilhamento...
geovaniif Postado Março 30, 2022 Compartilhar Postado Março 30, 2022 tem um pequeno erro de lógica no seu algoritmo, vou tentar explicar: Vou verifica se o valor que quer procurar está na lista, fazendo o "if N in A". Até aqui ok. Em seguida, você itera sobre a lista A, printando todos os valores, esse é o problema, você nem está verificando se o valor que está olhando realmente é o N, dessa forma ele só printa tudo. Segue uma pequena alteração que fiz e funcionou como deveria (eu corei umas coisas pra facilitar, coloquei os inputs diretos ao invés de ficar perguntando pro usuário, só pro código ficar menor) sobre a minha sugestão anterior, funciona sim e acredito que seja mais elegante. Também fiz ela para exemplo. O legal dessa solução é que ela é menor e pode ver que a gente cortou um monte de variavel que nao precisa mais rsrs. Qualquer dúvida é só chamar! Link to comment Compartilhe em outros sites Outras opções de compartilhamento...
CAIOG94 Postado Março 30, 2022 Autor(a) Compartilhar Postado Março 30, 2022 Muito obrigado @geovaniif. No caso a unica diferença, seria que no exercicio pede para inserir a quantidade de elementos que a lista terá e quais serão eles . o Else esta ok, mas no if quando eu peço pra mostrar a posicao do 3 na lista{3,4,3,3} mostra a posição errado dos 2 ultimos 3, mostrando assim elemento 3 na posicao 0 elemento 3 na posicao 1 - correto elemento 3 na posicao 2 elemento 3 na posicao 2 - correto elemento 3 na posicao 3 ou outra situação que quando pede Link to comment Compartilhe em outros sites Outras opções de compartilhamento...
geovaniif Postado Março 30, 2022 Compartilhar Postado Março 30, 2022 foi eu erro de identação meu. A linha que adiciona 1 no j deve estar fora do if rsrs só recuar um tab nessa linha que resolve a situação (linha 26 eu acho, nao consigo ver bem) Link to comment Compartilhe em outros sites Outras opções de compartilhamento...
CAIOG94 Postado Março 31, 2022 Autor(a) Compartilhar Postado Março 31, 2022 vLW. identação as vezes ajuda, outra atrapalha. tenho que aprimorar e muito isso, Seja em python, C e em outraslinguagens de programação. Estou cursando Jogos digitais Tecnologo. Muito obrigado mesmmo @geovaniif 1 Link to comment Compartilhe em outros sites Outras opções de compartilhamento...
Postagens Recomendadas
Crie uma conta ou entre para comentar 😀
Você precisa ser um membro para deixar um comentário.
Crie a sua conta
Participe da nossa comunidade, crie sua conta.
Criar minha conta agoraÉ bem rápido!
Entrar
Você já tem uma conta?
Entrar agoraFaça o login agora.