Você está aqui: Python ::: Desafios e Lista de Exercícios Resolvidos ::: Hidrologia e Hidráulica |
A tabela a seguir apresenta os dados de precipitação mensal, com as respectivas quantidades de ocorrência - Desafio de Programação Resolvido em PythonQuantidade de visualizações: 105 vezes |
Pergunta/Tarefa: (CEBRASPE - 2024 - ITAIPU - Técnico em Hidrologia) A tabela a seguir apresenta os dados de precipitação mensal, com as respectivas quantidades de ocorrência, coletados em um posto de meteorologia, ao longo de determinado período. ![]() A partir dos dados da tabela, é correto afirmar que a média ponderada da precipitação, no período de coleta, foi: a) inferior a 1.000 mm. b) superior a 1.000 mm e inferior a 1.500 mm. c) superior a 1.500 mm e inferior a 2.000 mm. d) superior a 2.000 mm e inferior a 2.500 mm. e) superior a 2.500 mm. Sua saída deve ser parecida com: Informe a 1ª precipitação: 800 Quantidade de meses da 1ª precipitação: 3 Informe a 2ª precipitação: 1000 Quantidade de meses da 2ª precipitação: 2 Informe a 3ª precipitação: 1200 Quantidade de meses da 3ª precipitação: 1 Informe a 4ª precipitação: 1800 Quantidade de meses da 4ª precipitação: 2 A média ponderada da precipitação é: 1150.0 mm A resolução desta questão envolve um pouco de estatística, ou seja, a média ponderada. Tudo que temos a fazer é multiplicar cada precipitação mensal pela quantidade de meses e acumular estes valores (somar todos). Em seguida nós dividimos o valor acumulado pelo somatório da quantidade de vezes. Vamos ver o código Python com comentários. Note o uso do laço for para ler as quatro linhas de precipitações e sua quantidade de meses: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # função principal do programa def main(): # vamos ler as precipitações e sua quantidade de meses somatorio_precipitacao = 0 somatorio_meses = 0 for i in range(0, 4): precipitacao = float(input("Informe a {0}ª precipitação: ".format(i + 1))) quant_meses = float(input("Quantidade de meses da {0}ª precipitação: ".format(i + 1))) somatorio_precipitacao = somatorio_precipitacao + (precipitacao * quant_meses) somatorio_meses = somatorio_meses + quant_meses print() # vamos calcular a média ponderada da precipitação media = somatorio_precipitacao / somatorio_meses # e mostramos o resultado print("A média ponderada da precipitação é: {0} mm".format(media)) if __name__== "__main__": main() |
![]() |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Exercícios Resolvidos de Python - Ler os lados de um triângulo e informar se ele é isósceles, escaleno ou equiláteroQuantidade de visualizações: 1858 vezes |
Pergunta/Tarefa: Um triângulo é uma forma geométrica (polígono) composta de três lados, sendo que cada lado é menor que a soma dos outros dois lados. Assim, para que um triângulo seja válido, é preciso que seus lados A, B e C obedeçam à seguinte regra: A < (B + C), B < (A + C) e C < (A + B). Escreva um programa Python que leia os três lados de um triângulo e verifique se tais valores realmente formam um triângulo. Se o teste for satisfatório, informe se o triângulo é isósceles (dois lados iguais e um diferente), escaleno (todos os lados diferentes) ou equilátero (todos os lados iguais). Sua saída deverá ser parecida com: Informe o primeiro lado do triângulo: 30 Informe o segundo lado do triângulo: 40 Informe o terceiro lado do triângulo: 60 O triângulo é escaleno Veja a resolução comentada deste exercício usando Python: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # método principal def main(): # vamos ler o primeiro lado do triângulo lado_a = int(input("Informe o primeiro lado do triângulo: ")) # vamos ler o segundo lado do triângulo lado_b = int(input("Informe o segundo lado do triângulo: ")) # vamos ler o terceiro lado do triângulo lado_c = int(input("Informe o terceiro lado do triângulo: ")) # os lados informados formam um triângulo? if((lado_a < (lado_b + lado_c)) and (lado_b < (lado_a + lado_c)) and (lado_c < (lado_a + lado_b))): # é um triângulo equilátero (todos os lados iguais)? if((lado_a == lado_b) and (lado_b == lado_c)): print("O triângulo é equilátero") else: # é isósceles (dois lados iguais e um diferente)? if((lado_a == lado_b) or (lado_a == lado_c) or (lado_c == lado_b)): print("O triângulo é isósceles") else: # é escaleno print("O triângulo é escaleno") else: print("Os lados informados não formam um triângulo.") if __name__== "__main__": main() |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Python Básico |
Exercícios Resolvidos de Python - Como testar se um número é potência de dois usando PythonQuantidade de visualizações: 552 vezes |
Pergunta/Tarefa: Escreva um programa Python contendo um método que recebe um número inteiro e retorna um valor boolean indicando se o valor informado é potência de dois. Sua saída deverá ser parecida com: Informe um valor inteiro: 8 O valor 8 é potência de dois Informe um valor inteiro: 34 O valor 34 não é potência de dois Informe um valor inteiro: 64 O valor 64 é potência de dois Veja a resolução comentada deste exercício usando Python: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # método que recebe um número inteiro e informe se ele é # potência de dois def is_potencia_dois(n): # usamos o operador AND de bits para verificar se n AND n-1 # é igual a 0 return (n > 0) and (n & (n - 1)) == 0 # método principal def main(): # vamos pedir para o usuário informar um valor inteiro valor = int(input("Informe um valor inteiro: ")) # vamos testar se o número informado é potência de dois if is_potencia_dois(valor): print("O valor {0} é potência de dois".format(valor)) else: print("O valor {0} não é potência de dois".format(valor)) if __name__== "__main__": main() |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Exercícios Resolvidos de Python - Um método recursivo que recebe um valor inteiro e o exibe na ordem inversaQuantidade de visualizações: 758 vezes |
Pergunta/Tarefa: Escreva um método recursivo que recebe um valor inteiro (com qualquer quantidade de dígitos) e o exibe na ordem inversa. Se o método receber o valor 467, o valor inverso será 764. Seu método deverá possuir a seguinte assinatura: def exibirInverso(valor): # sua implementação aqui Sua saída deverá ser parecida com: Informe um valor inteiro: 932 O valor invertido é: 239 Veja a resolução comentada deste exercício usando Python console: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # método recursivo que recebe um valor inteiro e o exibe na ordem # inversa def exibirInverso(valor): # a parada da recursividade é o valor igual a 0 if valor != 0: print(valor % 10, end ="") valor = valor // 10 exibirInverso(valor) # efetua uma nova chamada recursiva # método principal def main(): # solicita um valor inteiro ao usuário numero = int(input("Informe um valor inteiro: ")) # exibe o valor na ordem invertida print("O valor invertido é: ", end =" ") exibirInverso(numero) if __name__== "__main__": main() |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Exercício Resolvido de Python - Um método recursivo que conta de 0 até 10Quantidade de visualizações: 1141 vezes |
Exercícios Resolvidos de Python - Um método recursivo que conta de 0 até 10 Pergunta/Tarefa: Escreva um método recursivo que conta e exibe os valores de 0 até 10. Seu método deverá possuir a seguinte assinatura: def contar_recursivamente(n): # sua implementação aqui Sua saída deverá ser parecida com: 0 1 2 3 4 5 6 7 8 9 10 Veja a resolução comentada deste exercício usando Python: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # método recursivo que conta de 0 até 10 def contar_recursivamente(n): # vamos exibir o número atual print(n, " ", end =" ") # devemos prosseguir com a recursividade? if n < 10: # incrementa o valor de n n = n + 1 contar_recursivamente(n) # e faz uma nova chamada recursiva # método principal def main(): # efetua uma chamada ao método recursivo fornecendo o primeiro valor contar_recursivamente(0) if __name__== "__main__": main() |
Python ::: Dicas & Truques ::: Formatação de datas, strings e números |
Como inserir uma determinada quantidade de espaços à esquerda de um valor numérico usando PythonQuantidade de visualizações: 7346 vezes |
Este trecho de código Python mostra como definir uma quantidade de caracteres de espaço à esquerda de um valor numérico. Este exemplo funciona com inteiros. Para ponto-flutuante você deve trocar "d" por "f". Veja o código: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # método principal def main(): valor = 54 # com três espaços print("O valor é %5d" % valor) # com nove espaços print("O valor é %11d" % valor) # com quatro espaços print("O valor é %6d" % valor) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- O valor é 54 O valor é 54 O valor é 54 |
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
JavaScript - Como inverter a ordem dos elementos de um array em JavaScript - Vetores e matrizes em JavaScript |
Quem Somos |
![]() Entre em contato comigo para, juntos, vermos em que posso contribuir para resolver ou agilizar o desenvolvimento de seus códigos.
|
![]() Não basta ter um site. É necessário ter um site que é localizado e converte usuários em clientes. Se sua página não faz isso, Fale comigo e vamos fazer uma analise e conseguir resultados mais satisfatórios..
|
Linguagens Mais Populares |
1º lugar: Java |
Códigos Fonte |
![]() Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
![]() Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |