Bem vindo !

Não perca tempo, registre-se agora mesmo! Membros registrados tem acesso a muito mais conteúdos, além de poder participar de bate-papos, discussões e compartilhar novidades com a comunidade. Não perca essa oportunidade!

Ajuda com exercícios sobre while e for no python

Discussão em 'Dúvidas & Ajuda' iniciado por ' Lnox *~, 11 Out, 2017.

Compartilhe esta Página

  1. ' Lnox *~ «Moderation»

    Membro Avançado
    ' Lnox *~
    Registro:
    10 Set, 2012
    Posts:
    181
    Curtidas:
    1
    60/67
    Olá, alguém poderia me ajudar com essas questões abaixo? Não estou conseguido fechar meu raciocinio.

    12. Faça um programa que peça ao usuário números positivos e imprima a soma
    dos valores. Quando o usuário quiser parar de informar números, deve passar
    o valor -1.

    14. Faça um programa que calcule e mostre a média aritmética de N notas. O
    usuário informa quantas notas serão digitadas (N) e depois as N notas que ele
    deseja.
     
  2. Cr4cko software architect & fullstack developer

    Moderador Programador
    Cr4cko
    Registro:
    20 Dez, 2012
    Posts:
    1,231
    Curtidas:
    183
    75/133
    12. Faça um programa que peça ao usuário números positivos e imprima a soma
    dos valores. Quando o usuário quiser parar de informar números, deve passar
    o valor -1.

    Explicação: Ele quer que você crie um código que fique pedindo números positivos e somando até que digite -1. Ai provavelmente mostre a soma deles.
    Fiz um código que faz o que ele pediu e também mostra todos os números usados.

    Código:
    print("Exercicio 12")
    print("~> Digite quantos numeros quiser para serem somados. Quando quiser parar, digite -1.")
    
    used_numbers = []
    final_value = 0
    value = 0
    
    while value != -1:
        value = input("Numero: ")
        if value < 0:
            print("Apenas numeros positivos :)\n")
        if value != -1 and value > 0:
            final_value += value
            used_numbers.append(value)
    
    print("Soma total: %s" % final_value)
    print("Numeros somados: %s" % used_numbers)
    14. Faça um programa que calcule e mostre a média aritmética de N notas. O
    usuário informa quantas notas serão digitadas (N) e depois as N notas que ele
    deseja.

    Média aritmética é simples pô, soma tudo e divide pela quantidade adicionada.

    Código:
    print("Exercicio 14")
    print("~> Media aritmetica de notas.\n")
    
    final_notas = 0
    qtd_notas = 0
    
    count = 0
    
    qtd_notas = input("Digite a quantidade de notas que serao inseridas: ")
    while count < qtd_notas:
        value = input("Nota: ")
        final_notas += value
        count += 1
        
        
    media = final_notas / qtd_notas
    
    print("Media de notas: %s" % media)
    
    Qualquer dúvida, posso demorar pra entrar no forum, mas respondo. Abs
     
    ' Lnox *~ curtiu isso.
  3. ' Lnox *~ «Moderation»

    Membro Avançado
    ' Lnox *~
    Registro:
    10 Set, 2012
    Posts:
    181
    Curtidas:
    1
    60/67
    Obrigado, brother. Embora eu tenha conseguido fazer a questão 14, ainda não tinha concluído a 12. E me surgiu uma outra dúvida em outras duas questões, vou deixar aqui caso saiba como resolver.

    24.Faça um programa que leia um valor inteiro X (1 <= X <= 1000). Caso digite um
    número errado, pedir novamente. Em seguida mostre os pares de 1 até X, um valor
    por linha, inclusive o X, se for o caso.

    21.Faça um programa que gera uma lista dos números primos existentes entre 1 e
    um número inteiro N informado pelo usuário.
     
  4. Cr4cko software architect & fullstack developer

    Moderador Programador
    Cr4cko
    Registro:
    20 Dez, 2012
    Posts:
    1,231
    Curtidas:
    183
    75/133
    É aula de algoritmo? Meu deus como odeio isso kkk

    Não vou conseguir colocar o código hoje, só depois do feriado. Mas vou escrever aqui rapidinho o que você vai precisar fazer e ai você pesquisa ai, se possivel usa o StackOverflow pra te ajudar.

    24 - Você vai pegar os exemplos que criei ali, só que sem usar o While. Nesse caso voce vai apenas ler um numero, gravar numa variavel e verificar se ela é maior que zero e menor que 1000. Se nao estiver dentro dessas regras, exibir uma mensagem de pedir novamente. Ai voce vai fazer um for (loop) de 0 a quantidade de numeros digitadas pelo cara, ai você vai usar o MODULO para verificar se é par ou não. Se você não souber direito o que é modulo, da uma pesquisada, mas ele te devolve o resto de uma divisão. Então 4 / 2 é 2 e o resto é zero. Isso significa que 4 é par. Agora se voce dividir 5 por 2, restará 1. Então seu loop ficara marromenos assim:

    Código:
    for x in range(0, quantidade_digitada):
        if x % 2 == 0:
            print(x) #par
    
    21 - Mesma parada, guarda a quantidade que o cara digitar e faz um looping de 0 a quantidade digitada. Peguei um exemplo de funcao que verifica se o numero é primo ou não. No caso vou editar essa função pra retornar true ou false, se retornar true você adiciona em uma lista. Então antes de mais nada, crie uma lista (variavel = []). Ficará mais ou menos assim:

    Código:
    def is_primo(numero):
      for i in range(2, numero+1):
          if i != numero:
              i = numero % i
              if i == 0:
                  return False
          return False
        
    lista_primos = []
    for x in range(0, quantidade_digitada):
      if is_primo(x):
        lista_primos.append(x)
     
  5. ' Lnox *~ «Moderation»

    Membro Avançado
    ' Lnox *~
    Registro:
    10 Set, 2012
    Posts:
    181
    Curtidas:
    1
    60/67
    Muito obrigado mano, eu já tava ligado nessa parada do modulo, tava com dificuldade em interpretar a questão, enfim, obrigado mano.
     
    Cr4cko curtiu isso.
Top