Você está aqui: Python ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade)

Um método recursivo que recebe um valor inteiro e o exibe na ordem inversa - Exercícios Resolvidos de Python

Quantidade de visualizações: 827 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
Observe que você poderá usar, na resolução, somente os operadores aritméticos. Não é permitido o uso de métodos adicionais ou presentes em classes da linguagem Python.

Sua saída deverá ser parecida com:

Informe um valor inteiro: 932
O valor invertido é: 239
Resposta/Solução:

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()


Link para compartilhar na Internet ou com seus amigos:

Python ::: Python para Engenharia ::: Unidades de Medida

Como converter Centímetros Cúbicos em Metros Cúbicos em Python - Python para Física e Engenharia

Quantidade de visualizações: 305 vezes
Em muitas situações nós temos uma medida de volume em cm3 e queremos transformá-la em m3, que é a medida de volume do Sistema Internacional (SI). Para isso só precisamos dividir os centímetros cúbicos por 1.000.000. Veja a fórmula:

\[\text{Metros Cúbicos} = \frac{\text{Centímetros Cúbidos}}{1.000.000} \]

Agora veja o código Python que pede para o usuário informar a medida de volume em centímetros cúbicos e a converte para metros cúbicos. Note que mostrei como exibir o resultado em notação científica e sem notação científica:

----------------------------------------------------------------------
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 a medida em centímetros cúbicos
  cent_cubicos = float(input("Informe os centímetros cúbicos: "))
  
  # agora calculamos os metros cúbicos
  met_cubicos = cent_cubicos / 1000000.00
    
  # e mostramos o resultado
  print("Você informou {0} centímetros cúbicos.".format(cent_cubicos))
  print("Isso equivale a {0} metros cúbicos.".format(met_cubicos))
  print(f"Sem notação científica: {met_cubicos:.6f}")

if __name__== "__main__":
  main()

Ao executar este código Python nós teremos o seguinte resultado:

Informe os centímetros cúbicos: 35
Você informou 35.0 centímetros cúbicos.
Isso equivale a 3.5E-5 metros cúbicos.
Sem notação científica: 0,000035


Python ::: Fundamentos da Linguagem ::: Estruturas de Controle

Como usar o laço for do Python - Apostila Python para iniciantes - O laço for

Quantidade de visualizações: 12697 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 com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

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 com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

def main():
  for i in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
    print(i)   
 
if __name__== "__main__":
  main()



Python ::: Fundamentos da Linguagem ::: Estruturas de Controle

Como criar um laço while() infinito na linguagem Python

Quantidade de visualizações: 9876 vezes
Nesta dica eu mostrarei como é possível criar um laço (loop) while infinito em Python. Esta técnica é útil para as situações nas quais queremos interagir com o usuário do nosso programa até que um determinado valor seja informado.

No exemplo abaixo temos um laço while() que será executado até que o texto "fim" seja informado pelo usuário.

Veja o código completo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

def main():
  while True:
    frase = input("Digite uma frase: ");
    print("Você digitou: ", frase)
 
    # vamos sair do laço
    if frase == "fim":
      print("Você acaba de sair do laço while()")
      break
 
if __name__== "__main__":
  main()

Ao executar este código nós teremos o seguinte resultado:

Digite uma frase: Estou estudando Python
Você digitou: Estou estudando Python
Digite uma frase: Preciso viajar amanhã
Você digitou: Preciso viajar amanhã
Digite uma frase: fim
Você digitou: fim
Você acaba de sair do laço while()


Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira

Ações em estruturas: apresentação dos principais carregamentos na análise de estruturas convencionais

Qual das alternativas a seguir possui exemplos, na ordem correta de ações: permanentes diretas, permanentes indiretas, acidentais diretas, acidentais indiretas e excepcionais.

A) Peso próprio, variações de temperatura, cargas móveis, protensão e terremotos.

B) Peso próprio, protensão, vento, variações de temperatura e terremotos.

C) Deslocamento de apoio, imperfeições geométricas, vento, variações de temperatura e terremotos.

D) Peso próprio, imperfeições geométricas, vento, força longitudinal de frenagem e explosões.

E) Peso próprio, imperfeições geométricas, vento, variações de temperatura e cargas verticais de uso da construção.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Java

Analise o seguinte código Java

int a = 3 / 0;
System.out.println(a);

Qual é o resultado de sua execução?

A) Infinity

B) NaN

C) Uma exceção java.lang.ArithmeticException: / by zero

D) 0
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em

Dimensionamento de pilares intermediários

O projeto estrutural é conduzido por várias normas, sendo uma delas a NBR 6118 (projetos de estrutura de concreto), que define prescrições a serem obedecidas durante as etapas de dimensionamento e detalhamento de pilares com o intuito de considerar diversos fatores com influência direta nessas etapas de projeto e execução.

Nos pilares, a armadura mínima é necessária para absorver esforços de flexão não considerados no dimensionamento que podem surgir na sua vida útil.

No projeto das estruturas de um hotel feito de concreto armado, foram dimensionados pilares intermediários de seção retangular 30 x 30cm, com aço CA-50, para suportar uma carga vertical de cálculo de 800kN.

Como parte do dimensionamento, deve-se verificar a área mínima de armadura longitudinal, cujo valor é:

A) 3,6cm2.

B) 2,76cm2.

C) 5cm2.

D) 4,2cm2.

E) 2,74cm2.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira

Perfil em aço

As conexões dos perfis de aço contribuem para a projetação das estruturas de uma edificação, sendo responsáveis pela ligação entre pilares e vigas ou entre outros elementos. Elas podem variar, dependendo do tipo de esforço que se pretende resistir com o elemento estrutural.

Considerando a figura apresentada a seguir, assinale a alternativa que indica corretamente o tipo de conexão que está sendo utilizado para unir essas peças.



A) Conexão de cisalhamento.

B) Conexão de momento com pinos.

C) Conexão de cisalhamento com solda.

D) Conexão de momento com solda.

E) Conexão de tensão com solda.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais

Instalações prediais de águas pluviais

A chuva de projeto é o primeiro parâmetro a ser estimado para o projeto de instalações prediais. Como este é altamente probabilístico, uma abordagem a partir de um banco de dados consistente é utilizada na prática brasileira. Julgue as afirmações a seguir:

I. A chuva de projeto pode ser estimada a partir do ajuste das curvas IDF, que levam em conta a intensidade, a duração e a frequência com que ocorrem.

II. O tempo de retorno é um parâmetro que define o tempo para que a chuva retorne.

III. O coeficiente de deflúvio relaciona a porção de chuva incidente com o escoamento superficial gerado por esta.

IV. Os coeficientes de ajustes utilizados nas curvas IDF são frutos de pressupostos teóricos associados à mecânica dos fluidos.

Assinale a alternativa correta.

A) I e II são verdadeiras.

B) I e III são verdadeiras.

C) II e III são verdadeiras.

D) II e IV são verdadeiras.

E) III e IV são verdadeiras.
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

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware 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 funcionalidadesControle 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
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 50 usuários muito felizes estudando em nosso site.