Jump to content
SSO990

Exercício de repetição

Recommended Posts

Escrever um programa que leia um número não determinado de valores e calcule a média aritmética dos valores lidos, a quantidade de valores positivos, a quantidade de valores negativos e o percentual de valores negativos e positivos. A leitura deve parar quando o número informado for 9999. Mostre os resultados. 

Share this post


Link to post
Share on other sites

Este código deve resolver o seu problema, ele foi escrito para ser interpretado com Python 3.

 

numero = 0
numeroString = "0"
contadorPositivo = 0
contadorNegativo = 0
soma = 0
while ( True ):
    numeroString = input("Entre com um número: ")

    #Condição de parada
    if(numeroString == "9999"):
        break

    numero = float(numeroString)

    #Para o cálculo da média
    soma += numero

    #Contagem de números positivos e negativos. Obs: O número zero está somando para os números positivos
    if ( numero < 0 ):
        contadorNegativo += 1
    else:
        contadorPositivo += 1

#Média
media = soma/( contadorPositivo + contadorNegativo )

print( " -------------------- " )
print( "Média : " + str(media) )
print( "Números positivos : " + str(contadorPositivo) )
print( "Números negativos : " + str(contadorNegativo) )
print( " -------------------- " )

 

 

Share this post


Link to post
Share on other sites

A estrutura de repetição  foi formada no While?

Enquanto verdade... ele vai ficar rodando até o usuario digitar 9999?

Estou começando agora o curso de python, estou na partes do if,elif else

Mas fiz logica de programação no visualg, então acredito que seja igual o

REPITA

ATE(numeroString = 9999)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By atilla9913
      Eae glr, necessito de uma ajuda rápida, preciso da resolução de uma questão de programação estruturada de python usando função: Faça em Python usando vetor e função um programa que solicite a quantidade de alunos, peça o RE de cada aluno, peça 4 notas para cada aluno, calcule a média de cada aluno e mostre na tela as informações de RE: , as 4 notas, a média e a situação(aprovado acima de 7, reprovado abaixo de 7)?
    • By Motta
      As 10 principais linguagens de programação do mercado
    • By Kleiton44
      '''Ler duas matrizes A e B, cada uma com uma dimensão para sete elementos. Construir uma matriz C de duas dimensões. A primeira coluna deve ser formada pelos elementos da matriz A e a segunda coluna pelos elementos da matriz B. Apresentar a matriz C  ERRO:   A[x][y] = int(A[x][y]) IndexError: list index out of range''' A = [[0, 0, 0, 0, 0, 0, 0]] B = [[0, 0, 0, 0, 0, 0, 0]] C = [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]] for x in range(1): A[x] = input().split(' ') for x in range(1): B[x] = input().split(' ') for x in range(7): for y in range(2): A[x][y] = int(A[x][y]) B[x][y] = int(B[x][y]) C[y] = A[x], B[x] for x in range(7): for y in range(2): print((C[x][y]), end=' ') print(' ')
    • By Lucas_R22
      Bom dia, segue o exercício no qual estou com duvida ao faze-lo,
       
      Escreva um programa que leia dois números. Imprima a divisão inteira do primeiro pelo segundo, assim como o resto da divisão. Utilize apenas os operadores de soma e subtração para calcular o resultado. Lembre-se de que podemos entender o quociente da divisão de dois números como a quantidade de vezes que podemos retirar o divisor do dividendo. Logo, 20 ÷ 4 = 5, uma vez que podemos subtrair 4 cinco vezes de 20.
    • By edmin
      Olá pessoal, preciso de uma ajuda como seguinte, desde já, agradeço por qualquer ajuda...
      Pergunta: 
      Dado um arquivo 'ips.txt' com uma lista de endereços, o programa deve dar um ping para cada ip/domínio cadastrado. A linha contendo os resultados (mínimo, máximo, média)deve ser salva em arquivo 'log_data_hora.txt'.
      ips.txt
      www.claro.com.br;Servidor Claro
      www.colombo.com.br;Servidor Colombo
      www.renner.com.br;Servidor Renner
      www.gmail.com.br;Servidor Email Google
       
      tenho o seguinte código:
       
      import os from datetime import datetime def titulo(texto): print() print(texto) print('\033[7;97;40m-\033[m'*40) ###################################### def listar(): print('\033[7;97;40mListagem de IPs\033[m') print('\033[7;97;40m=\033[m'*72) arq = open('ips.txt', 'r') num = 0 linha = arq.readline() print('\033[7;97;40mNº .: IP/Dominio ...............: Cliente/Serviço ..................: \033[m') while linha != '': num = num + 1 partes = linha.split(';') print(f'\033[7;97;40m {num:3} {partes[0]:30s} {partes[1][:-1]}\033[m') linha = arq.readline() arq.close() print('\033[7;97;40m-\033[m'*72) ''' funcao que recebe um ip como parametro o tempo medio de resposta de um ping para este ip ou -1, caso erro ''' def ver_media(ip): dados = os.popen('ping '+ ip) # executa um comando no sistema operacional media = '' #find: retorna a posicao da string #(se nao encontrar retorna 0) for linha in dados: if linha.find('M‚dia') >= 0: posicao = linha.rfind('=') mediams = linha[posicao+1:] ms = mediams.rfind('ms') media = mediams[0:ms] if media == '': return -1 else: return int(media) def testar(): titulo('\033[7;97;40mTestando IPs Cadastrados\003[m') print('\033[7;97;40mIP/Domínio............ Tempo(ms)\033[m') print('\033[7;97;40m-\033[m'*40) arqLog = open('logs.txt', 'a') #salva em arquivo cada teste arq = open('ips.txt', 'r') linha = arq.readline() while linha != '': partes = linha.split(';') tempo = ver_media(partes[0]) funcao = ver_media(partes[1]) agora = datetime.now() dia = agora.strftime('%d/%m/%Y') hora = agora.strftime('%H:%M:%S') print(f'\033[7;97;40m{partes[0]:25s} {tempo}\033[m') arqLog.write(partes[0]+';'+str(tempo)+';'+dia+';'+hora+'\n') linha = arq.readline() arq.close() arqLog.close() #################################################### def logs(): titulo('\033[7;97;40m Listagem de Logs \033[m') arq = open('logs.txt', 'r') print('\033[7;97;40mNº..: IP / Dominio............: Média (ms): Dia do accesso..: Hora..:\033[m') num = 0 linha = arq.readline() while linha != '': num = num + 1 partes = linha.split(';') ip = str(partes[0]) tempo = str(partes[1]) dia = str(partes[2]) hora = str(partes[3]) print(f'\033[7;97;40m{num:3d} {ip:30s} {tempo:3s} {dia:17s} {hora} \033[m', end='') linha = arq.readline() arq.close() print('-'*43) print('\033[7;97;40m -> Se o tempo em ms, for igual a\033[m \033[1;31m-1\033[m,\033[7;97;40m\n' ' o host não está respondendo\033[m') return ######################### programa principal while True: print('\033[7;97;40m=\033[m' * 43) print('''\033[3;30;44m#### Selecione uma Opção: ####\033[m \033[7;97;40m 1. Listar Ips 2. Testar 3. Log de testes 4. Finalizar \033[m\n ''') print('\033[7;97;40m=\033[m' * 43) opcao = int(input('\033[3;30;44mDigite sua opção:\033[m ')) if opcao == 1: listar() elif opcao == 2: testar() elif opcao == 3: logs() elif opcao == 4: calcula() elif opcao == 5: print('\033[1;30mPrograma Finalizado pelo Usuário!!!\n' '==//==//==//==//==//==//==//==//==//\033[m') exit() else: print('\033[1;31mOps...\n' ' Opção Inválida!!!\033[m') break  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.