Você está aqui: Python ::: Desafios e Lista de Exercícios Resolvidos ::: Python Básico |
Escreva um programa em Python para o Ministério da Saúde que o auxilie nas informações sobre a dengue em Brasília. Esse programa - Exercícios Resolvidos de PythonQuantidade de visualizações: 758 vezes |
Pergunta/Tarefa: Escreva um programa em Python para o Ministério da Saúde que o auxilie nas informações sobre a dengue em Brasília. Esse programa deve receber os dados sobre o número de casos suspeitos, o número de casos confirmados e o número de mortes. Sua saída deve ser parecida com: Quantidade de casos suspeitos: 21 Quantidade de casos confirmados: 19 Quantidade de mortes: 4 Dados Coletados: Casos Suspeitos: 21 Casos Confirmados: 19 Quantidade de Mortes: 4 Total de dados: 44 Veja a resolução comentada deste exercício usando Python console: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # método principal def main(): # vamos ler as informações casosSuspeitos = int(input("Quantidade de casos suspeitos: ")) casosConfirmados = int(input("Quantidade de casos confirmados: ")) quantMortes = int(input("Quantidade de mortes: ")) # somatória dos dados lidos total = casosSuspeitos + casosConfirmados + quantMortes # agora vamos mostrar os resultados print("\nDados Coletados:\n") print("Casos Suspeitos: {0}".format(casosSuspeitos)) print("Casos Confirmados: {0}".format(casosConfirmados)) print("Quantidade de Mortes: {0}".format(quantMortes)) print("\nTotal de dados: {0}".format(total)) if __name__== "__main__": main() |
![]() |
Python ::: Dicas & Truques ::: Lista (List) |
Vetores e matrizes em Python - Como inserir itens em posições aleatórias de uma listaQuantidade de visualizações: 9582 vezes |
Este exemplo mostra como adicionar itens em posições aleatórias de uma lista Python. Note como usamos o método insert() da classe List passando um valor randômico para o índice no qual o novo elemento será inserido. Veja o código completo para a dica: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # vamos importar o módulo random import random def main(): # cria uma lista vazia valores = [] # início do laço for for i in range(1, 11): valor = int(input("Informe um inteiro: ")) if(len(valores) == 0): valores.insert(0, valor) else: # insere o valor em um posição aleatória valores.insert(random.randrange(0, len(valores)), valor) # exibe os valores da lista print("Valores na lista:", valores, "\n") # fim do laço for if __name__== "__main__": main() Ao executarmos este código Python nós teremos o seguinte resultado: Informe um inteiro: 9 Valores na lista: [9] Informe um inteiro: 3 Valores na lista: [3, 9] Informe um inteiro: 2 Valores na lista: [2, 3, 9] Informe um inteiro: 8 Valores na lista: [2, 3, 8, 9] Informe um inteiro: 10 Valores na lista: [10, 2, 3, 8, 9] Informe um inteiro: 18 Valores na lista: [18, 10, 2, 3, 8, 9] Informe um inteiro: 30 Valores na lista: [18, 10, 30, 2, 3, 8, 9] Informe um inteiro: 60 Valores na lista: [18, 10, 30, 2, 3, 8, 60, 9] Informe um inteiro: 67 Valores na lista: [18, 10, 67, 30, 2, 3, 8, 60, 9] Informe um inteiro: 82 Valores na lista: [18, 10, 67, 30, 2, 3, 8, 82, 60, 9] |
Python ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como converter graus em radianos em Python - Trigonometria em PythonQuantidade de visualizações: 3051 vezes |
Quando estamos trabalhando com trigonometria na linguagem Python, é importante ficarmos atentos ao fato de que todos os métodos e funções trigonométricas em Python recebem seus argumentos em radianos, em vez de graus. Nesta dica veremos como converter graus em radianos (sem a chatice de ficar relembrando regra de três). Veja a fórmula abaixo: \[Radianos = Graus \times \frac{\pi}{180}\] Agora veja como esta fórmula pode ser escrita em código Python: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- import math # função principal do programa def main(): # valor em graus graus = 30 # obtém o valor em radianos radianos = graus * (math.pi / 180) # mostra o resultado print(graus, "graus convertidos para", "radianos é", radianos) if __name__== "__main__": main() Ao executarmos este código Python nós teremos o seguinte resultado: 30 graus convertidos para radianos é 0.5235987755982988 Por fim, saiba que a linguagem Python nos oferece o método math.radians() que nos permite converter ângulos em graus para radianos. Meu propósito nesta dica foi mostrar a você como o cálculo de conversão pode ser escrito em Python. Em outras dicas dessa seção abordaremos o método math.radians(). |
Python ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como usar o laço for do Python - Apostila Python para iniciantes - O laço forQuantidade de visualizações: 12831 vezes |
O laço for (laço para) em Python é um pouco diferente daquele encontrado em Java, C ou C++. Na verdade, o laço for da Python está mais para o laço foreach do C# e o novo laço for do Java 1.5. Em Python, o laço for funciona com sequencias (range), ou seja, a cada iteração do laço, um elemento da sequencia é retornado. Vamos ver isso mais de perto. Veja o exemplo a seguir: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- def main(): for i in range(1, 11): print(i) if __name__== "__main__": main() Este trecho de código exibirá os números de 1 até 10. Veja que o último limite não é incluído na contagem. Este exemplo pode também ser escrito assim: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- def main(): for i in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]: print(i) if __name__== "__main__": main() |
Python ::: Dicas & Truques ::: Formatação de datas, strings e números |
Python para iniciantes - Como inserir uma determinada quantidade de espaços à direita de uma stringQuantidade de visualizações: 8480 vezes |
Este trecho de código mostra como inserir uma determinada quantidade de espaços à direita de uma string. Esta técnica é muito útil para formatar a saída em tela ou em arquivos. Veja o código completo para a dica: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- def main(): palavra1 = "Estudando" palavra2 = "Python" palavra3 = "C++" palavra4 = "Delphi" print("%-12s %s" % (palavra1, palavra2)) print("%-12s %s" % (palavra3, palavra4)) if __name__== "__main__": main() Ao executarmos este código Python nós teremos o seguinte resultado: Estudando Python C++ Delphi |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercícios Resolvidos de Python - Como converter de binário para decimal em Python usando o laço forQuantidade de visualizações: 430 vezes |
Pergunta/Tarefa: Escreva um programa Python que usa o laço for para converter um número binário (como uma String) em sua representação decimal (como um int). Peça ao usuário para informar um número binário e mostre o mesmo em decimal (como um int). Sua solução deve obrigatoriamente usar o laço for. Sua saída deverá ser parecida com: Informe um número binário: 1100 A representação decimal do valor binário 1100 é 12 Veja a resolução comentada deste exercício usando Python: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # vamos importar o módulo Math import math # função principal do programa def main(): # vamos ler o número binário (como uma String) binario = input("Informe um número binário: ") decimal = 0 # guarda a representação decimal # vamos percorrer todos os dígitos do número binário começando do início expoente = len(binario) - 1 for i in range(0, len(binario)): # converte o caractere atual para inteiro temp = int(binario[i]) decimal = decimal + (temp * int(math.pow(2, expoente))) # reduz o expoente expoente = expoente - 1 # mostramos o resultado print("A representação decimal do valor binário {0} é {1}".format( binario, decimal)) if __name__== "__main__": main() |
Python ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como usar o laço while do Python - Python para iniciantesQuantidade de visualizações: 15395 vezes |
O laço while da linguagem Python permite executar um bloco de códigos repetidamente até que uma condição seja verdadeira. Opcionalmente, uma cláusula else pode ser usado com o while em Python (a parte else será executada mesmo que o corpo principal do laço não seja executado). Veja um exemplo:---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # função principal do programa def main(): numero = 0 while numero <= 10: print(numero) numero = numero + 1 else: print("Terminei") if __name__== "__main__": main() Ao executarmos este código Python nós teremos o seguinte resultado: 0 1 2 3 4 5 6 7 8 9 10 Terminei Veja um exemplo de um laço while que nunca será executado: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # função principal do programa def main(): numero = 0 while numero > 10: print(numero) numero = numero + 1 if __name__== "__main__": main() E agora um exemplo de laço usando um valor booleano: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # função principal do programa def main(): continuar = True valor = 0 while continuar: print(valor) if valor > 5: continuar = False else: valor = valor + 1 if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: 0 1 2 3 4 5 6 |
Python ::: Dicas & Truques ::: HTTP Web Server |
Como criar um servidor web em Python usando as classes BaseHTTPRequestHandler e HTTPServerQuantidade de visualizações: 584 vezes |
Nesta dica mostrarei como criar um web server em Python, ou seja, o nosso próprio servidor web. Para isso nós vamos criar uma classe ServidorWeb que herda de BaseHTTPRequestHandler, que nos fornece todos os métodos necessários para tratar requisições HTTP, tais como GET e POST. Note que definir o nome do host como "localhost" e a porta como "8080". Veja o código completo para o nosso web server em Python: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # precisamos importar os objetos BaseHTTPRequestHandler e HTTPServer # do módulo http.server from http.server import BaseHTTPRequestHandler, HTTPServer # precisamos também do módulo time import time # vamos criar a classe ServidorWeb, que herda de # BaseHTTPRequestHandler class ServidorWeb(BaseHTTPRequestHandler): # vamos implementar o método que responde às requisições GET def do_GET(self): self.send_response(200) self.send_header("Content-type", "text/html") self.end_headers() self.wfile.write(bytes("<html><head><title>Meu Servidor Web</title></head>", "utf-8")) self.wfile.write(bytes("<p>Requsição: %s</p>" % self.path, "utf-8")) self.wfile.write(bytes("<body>", "utf-8")) self.wfile.write(bytes("<p>Exemplo de Web Server em Python</p>", "utf-8")) self.wfile.write(bytes("</body></html>", "utf-8")) # função principal do programa def main(): # agora criamos um objeto HTTPServer host = "localhost" porta = 8080 servidorWeb = HTTPServer((host, porta), ServidorWeb) print("Servidor iniciado em http://%s:%s" % (host, porta)) # tentamos levantar o servidor try: servidorWeb.serve_forever() except KeyboardInterrupt: pass # liberamos o servidor web servidorWeb.server_close() print("O servidor web foi parado.") if __name__== "__main__": main() Ao executar este código você verá a seguinte mensagem: Servidor iniciado em http://localhost:8080 A partir daí você pode abrir o seu navegador neste endereço e já verá a página web que definimos no corpo do método do_GET() da classe ServidorWeb. Agora é só explorar as dicas dessa seção para aprender ainda mais sobre redes, soquetes e servidores web usando a linguagem Python. |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Exercícios Resolvidos de Python - Uma função recursiva que conta quantas vezes um valor inteiro k ocorre em um vetor de inteirosQuantidade de visualizações: 500 vezes |
Pergunta/Tarefa: Escreva uma função recursiva em Python que conta quantas vezes um valor inteiro k ocorre em um vetor de 10 inteiros. Sua função deverá ter a seguinte assinatura: # função recursiva que recebe um valor e informa quantas vezes # ele aparece no vetor também informado def quant_repeticoes(indice, valor, vetor): # sua implementação aqui Sua saída deverá ser parecida com: Informe o 1 valor: 2 Informe o 2 valor: 7 Informe o 3 valor: 4 Informe o 4 valor: 7 Informe o 5 valor: 1 Informe o valor a ser pesquisado no vetor: 7 O valor informado se repete 2 vezes. Veja a resolução comentada deste exercício usando Python: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # método principal def main(): # vamos declarar um vetor de 10 inteiros valores = [0 for x in range(5)] # vamos pedir ao usuário que informe os valores do vetor for i in range(len(valores)): valores[i] = int(input("Informe o %d.o valor: " % ((i + 1)))) # agora vamos pedir para informar o valor a ser pesquisado valor = int(input("\nInforme o valor a ser pesquisado no vetor: ")) # e vamos ver a quantidade de repetições repeticoes = quant_repeticoes(0, valor, valores) print("O valor informado se repete {0} vezes.".format(repeticoes)) # função recursiva que recebe um valor e informa quantas vezes # ele aparece no vetor também informado def quant_repeticoes(indice, valor, vetor): if indice == len(vetor) - 1: # caso base...hora de parar a recursividade if vetor[indice] == valor: return 1 # mais um repetição foi encontrada else: # dispara mais uma chamada recursiva if vetor[indice] == valor: # houve mais uma repetição return 1 + quant_repeticoes(indice + 1, valor, vetor) else: return 0 + quant_repeticoes(indice + 1, valor, vetor) # não repetiu return 0 # só para deixar o compilador satisfeito...esta linha nunca é executada if __name__== "__main__": main() |
Vamos testar seus conhecimentos em |
Vantagens e Desvantagens do Concreto Armado A escolha do sistema estrutural a ser adotado para a edificação a ser executada em determinada região passa pelo estudo da viabilidade técnica e, na sequência, da viabilidade econômica. A viabilidade técnica irá considerar, entre outros itens, as vantagens e desvantagens dos sistemas em análise. Com relação às desvantagens da utilização do concreto armado, analise as afirmações a seguir e indique V para a(s) verdadeira(s) e F para a(s) falsa(s): ( ) A necessidade da utilização de um sistema de formas e escoramentos é uma desvantagem das estruturas de concreto armado que pode ser evitada pela utilização de elementos pré-moldados. ( ) O fato de o concreto produzido não atingir a resistência prevista em projeto é uma desvantagem que não pode ser evitada. ( ) A fissuração de elementos de concreto armado é uma desvantagem inevitável e não pode ser controlada. ( ) Seu elevado peso próprio é uma das principais desvantagens no concreto armado, pois esse fato pode ser penalizante na execução. Assinale a alternativa que contém a sequência correta. A) V - V - F - F. B) F - V - F - V. C) F - V - F - F. D) V - F - F - F. E) F - V - V - F. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Hidrologia |
Como é chamado o processo em que a água passa do estado líquido para o estado sólido no meio atmosférico? A) Infiltração. B) Condensação. C) Evapotranspiração. D) Transpiração. E) Precipitação. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Segurança e Estados Limites Ações nas Estruturas de Concreto Armado Uma viga de um edifício residencial está submetida a um carregamento linear de 20kN/m. Estima-se que 60% dessa carga seja de natureza permanente e 40%, acidental. A seção transversal da viga é retangular com bw = 20cm e h = 40cm e, para o seu peso próprio, é considerado um peso específico do concreto armado de 25kN/m3. Assinale a alternativa correta quanto ao valor de carregamento solicitante a ser levado em conta nessa viga, conforme a combinação. As ações devem ser consideradas separadamente e com efeito desfavorável. A) Para combinação normal última, o valor de carregamento solicitante é de 30,8kN/m. B) Para a combinação quase permanente de serviço, o valor do carregamento solicitante é de 18kN/m. C) Para a combinação frequente de serviço, o valor do carregamento solicitante é de 18,8kN/m. D) Para a combinação rara de serviço, o valor do carregamento solicitante é de 22kN/m. E) Para a combinação última excepcional, o valor do carregamento solicitante é de 27,2kN/m. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil |
Fases de uma obra Em relação aos conceitos envolvidos na elaboração de um orçamento de obras, assinale a alternativa correta. A) Custos diretos são aqueles em que é necessário estipular um fator de rateio para que sejam apropriados aos serviços. B) Devem ser incluídas no título "desmobilização" de um orçamento as despesas com locação, fechamento, tapumes, demolições e relocações. C) A administração do canteiro de obras e as despesas decorrentes da administração da empresa fazem parte dos custos diretos de uma obra. D) Como regra, orçam-se os preços na construção civil por serviço, determinando-os segundo a produção de composições unitárias. E) Em um solo, caso seja necessário escavar 1 m3 do terreno, deve-se orçar, no item referente à escavação do material, o valor 1,4 m3. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil |
Processos e técnicas construtivas de instalações elétricas e hidráulicas As instalações prediais de água fria têm a função de distribuir água potável em temperatura ambiente, enquanto as instalações prediais de água quente distribuem água aquecida, sempre observando a segurança dos usuários. Analise as afirmativas a seguir, referentes às instalações prediais de água fria e água quente. I. As colunas de distribuição têm a função de conduzir a água a partir dos barriletes com destino aos ramais, tanto na instalação de água fria quanto na instalação de água quente. II. Os aquecedores de acumulação se caracterizam pela capacidade de armazenamento de água, que é aquecida em um reservatório componente do equipamento. III. O sistema de aquecimento individual, em uma edificação, consiste naquele que alimenta todos os pontos de utilização de um único apartamento. IV. As bitolas das tubulações empregadas em uma rede de distribuição de água devem diminuir a partir do barrilete em direção ao sub-ramal. Assinale a alternativa que apresenta somente a(s) afirmativa(s) correta(s). A) Apenas a afirmativa I está correta. B) Apenas a afirmativa III está correta. C) Apenas as afirmativas II e III estão corretas. D) Apenas as afirmativas I, II e IV estão corretas. E) As afirmativas I, II, III e IV estão corretas. Verificar Resposta Estudar Cards Todas as Questões |
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |