Você está aqui: Python ::: Desafios e Lista de Exercícios Resolvidos ::: Python Básico |
Valor da diária, valor médio arrecadado com e sem promoção e o lucro ou prejuízo mensal de uma promoção em um hotel - Exercícios Resolvidos de PythonQuantidade de visualizações: 365 vezes |
Pergunta/Tarefa: Escreva um programa Python para resolver o seguinte problema: Um hotel com 42 apartamentos resolveu fazer promoções para os fins de semana fora da alta temporada, isto é, nos meses de abril, maio, junho, agosto, setembro, outubro e novembro. A taxa da promoção é de 22% da diária normal. A ocupação média do hotel sem promoção é de 40%. A expectativa é aumentar a taxa de ocupação para 70%. Supondo que as expectativas se confirmem, escrever um algoritmo que lê a diária normal, que calcule e escreva as seguintes informações: (a) O valor da diária no período da promoção. (b) O valor médio arrecadado sem a promoção, durante um mês. (c) O valor médio arrecadado com a promoção, durante um mês. (d) O lucro ou prejuízo mensal com a promoção. Seu código Python deverá apresentar uma saída parecida com: Informe o valor da diária normal: 120 Diária no período de promoção: 26,40 Média arrecadada sem a promoção durante um mês: 8064,00 Média arrecadada com a promoção durante um mês: 3104,64 Prejuízo mensal com a promoção: 4959,36 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) ---------------------------------------------------------------------- # função principal do programa def main(): # vamos obter o valor da diária no período normal valor_diaria_normal = float(input("Informe o valor da diária normal: ")) # vamos obter o valor da diária no período promocional valor_diaria_promocao = valor_diaria_normal * (22.0 / 100.0) # vamos calcular o valor médio arrecadado sem a promoção, durante um mês # estamos assumindo 4 finais de semana por mês media_arrecadado_sem_promocao = (valor_diaria_normal * (42 * (40.0 / 100.0)) * 4) # vamos calcular o valor médio arrecadado com a promoção, durante um mês # estamos assumindo 4 finais de semana por mês media_arrecadado_com_promocao = (valor_diaria_promocao * (42 * (70.0 / 100.0)) * 4) print("Diária no período de promoção: {0}".format(valor_diaria_promocao)) print("Média arrecadada sem a promoção durante um mês: {0}".format( media_arrecadado_sem_promocao)) print("Média arrecadada com a promoção durante um mês: {0}".format( media_arrecadado_com_promocao)) # houve lucro ou prejuízo? if (media_arrecadado_sem_promocao < media_arrecadado_com_promocao): print("Lucro mensal com a promoção: {0}".format( (media_arrecadado_com_promocao - media_arrecadado_sem_promocao))) else: print("Prejuízo mensal com a promoção: {0}".format( (media_arrecadado_sem_promocao - media_arrecadado_com_promocao))) if __name__== "__main__": main() |
Link para compartilhar na Internet ou com seus amigos: |
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: 8398 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 com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- 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 ::: Dicas & Truques ::: HTTP Web Server |
Como criar um servidor web em Python usando as classes BaseHTTPRequestHandler e HTTPServerQuantidade de visualizações: 504 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 com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # 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 ::: Dicas & Truques ::: Arquivos e Diretórios |
Como criar um diretório em Python usando a função mkdir() do módulo osQuantidade de visualizações: 3038 vezes |
Podemos usar a função mkdir() do módulo os da linguagem Python para criarmos diretórios. Em sua versão mais simples, este método pede somente o nome e caminho do diretório a ser criado. Se o caminho for omitido, o novo diretório será criado no diretório atual, ou seja, o diretório da aplicação Python. Veja um exemplo no qual criamos um diretório chamado "app" no diretório "C:\estudos_python": ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # importa o módulo os import os # método principal def main(): # nome do diretório diretorio = "C:\\estudos_python\\app" # vamos criar o diretório os.mkdir(diretorio) # mostramos o resultado print('O diretório foi criado com sucesso.') if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: c:\estudos_python>python estudos.py O diretório foi criado com sucesso. Note que um erro do tipo FileExistsError será exibido se o diretório já existir: Traceback (most recent call last): File "c:\estudos_python\estudos.py", line 16, in <module> main() File "c:\estudos_python\estudos.py", line 10, in main os.mkdir(diretorio) FileExistsError: [WinError 183] Não é possível criar um arquivo já existente: 'C:\\estudos_python\\app' Uma forma de evitar este erro é verificar se o diretório já existe ou usar uma construção try...except. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # importa o módulo os import os # método principal def main(): # nome do diretório diretorio = "C:\\estudos_python\\app" try: # vamos criar o diretório os.mkdir(diretorio) # mostramos o resultado print('O diretório foi criado com sucesso.') except os.error as error_msg: print("Houve um erro: %s" % str(error_msg)) if __name__== "__main__": main() Execute o código novamente e veja como o tratamento de erro ficou mais elegante. |
Vamos testar seus conhecimentos em JavaScript |
Qual evento JavaScript ocorre quando o usuário clica em um elemento HTML? A) onchange B) onmouseover C) onmouseclick D) onclick Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais |
O projeto de instalação hidrossanitária Em relação ao histograma, considere as seguintes sentenças: I - Histograma consiste em um gráfico que apresenta a distribuição de frequências de uma variável por meio de retângulos justapostos, feitos sobre as classes dessa variável, sendo que a área de cada retângulo é proporcional à frequência observada da correspondente classe. II - Histogramas são obrigatórios em todos os projetos civis, sendo, inclusive, exigidos pelos órgãos para liberação do habite-se; III - Histogramas são recomendáveis apenas em projetos muito grandes ou de grande complexidade. Assinale a alternativa correta: A) Apenas as sentenças I e II estão corretas. B) Apenas as sentenças II e III estão corretas. C) Apenas a sentença I está correta. D) Apenas a sentença III está correta. E) Todas as sentenças estão corretas. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Dimensionamento de pilares de canto A direção mais crítica de um pilar de canto é determinada na comparação entre o índice de esbeltez do pilar e a esbeltez limite. Analise o pilar a seguir: Sobre esse pilar de canto, assinale a alternativa correta. A) A direção x é a mais crítica, e nela não são considerados os momentos de 2ª ordem. B) A direção y é a mais crítica, e nela não são considerados os momentos de 2ª ordem. C) A direção x é a mais crítica, e nela são considerados os momentos de 2ª ordem. D) A direção y é a mais crítica, e nela são considerados os momentos de 2ª ordem. E) Ambas as direções x e y são críticas, e nelas são considerados os momentos de 2ª ordem. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
Qual das formas abaixo é usada para criar uma LIST em Python? A) valores = {5, 1, 9, 4} B) valores = [5, 1, 9, 4] C) valores = (5, 1, 9, 4) D) valores = [5.. 1.. 9.. 4] E) valores = list[5, 1, 9, 4] Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em AutoCAD Civil 3D |
O painel Toolspace Qual aba do painel Toolspace do AutoCAD Civil 3D é usada para revisar ou editar as definições que controlam os estilos de exibição dos tipos de objetos, estilos de rótulos e outras propriedades? A) Prospector B) Toolbox C) Survey D) Settings Verificar Resposta Estudar Cards Todas as Questões |
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento 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 |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades 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 |
Linguagens Mais Populares |
1º lugar: Java |