Você está aqui: Python ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções

Como testar se um número informado pertence a série Fibonacci - Desafio de Programação Resolvido em Python

Quantidade de visualizações: 1213 vezes
Pergunta/Tarefa:

Escreva um programa Python que pede para o usuário informar um número inteiro positivo e usa uma função para informar se o número passado como argumento pertence à série Fibonacci.

Como sabemos, a série de Fibonacci é uma série de números na qual cada número é obtido mediante a soma dos dois números anteriores. Veja, por exemplo, os primeiros doze números da sequência Fibonacci:

0 1 1 2 3 5 8 13 21 34 55 89

Sua saída deverá ser parecida com:

Informe um número: 21
Pertence à sequência Fibonacci
Resposta/Solução:

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 solicitar um número inteiro positivo
  numero = int(input("Informe um número: "))
    
  # vamos testar se o número pertence à sequência
  # Fibonacci
  if pertenceSerieFibonacci(numero):
    print("Pertence à sequência Fibonacci")
  else:
    print("Não pertence à sequência Fibonacci")
  
# função que recebe um número e informa se ele pertence
# à sequência Fibonacci
def pertenceSerieFibonacci(n):
  # define os termos iniciais
  primeiro = 0
  segundo = 1
  terceiro = 0
    
  # enquanto o terceiro valor for menor que o número informado
  while terceiro < n:
    terceiro = primeiro + segundo
    primeiro = segundo
    segundo = terceiro
         
  # pertence à sequência Fibonacci?    
  return terceiro == n
  
if __name__== "__main__":
  main()


Link para compartilhar na Internet ou com seus amigos:

Python ::: Topografia e Geoprocessamento ::: Passos Iniciais

Como converter graus, minutos e segundos para graus decimais em Python

Quantidade de visualizações: 1112 vezes
Em algumas situações, principalmente em cálculos da Engenharia Civil e Topografia, nós precisamos converter graus, minutos e segundos para graus decimais. É comum chamarmos graus, minutos e segundos de DMS ou GMS, enquanto os graus decimais são chamados de UTM.

Nesta dica veremos como converter 85º 42' 13.75'' para graus decimais. A fórmula que usaremos é a seguinte:

\[\text{Graus decimais} = \text{Graus} + \frac{\text{Minutos}}{60} + \frac{\text{Segundos}}{3600} \]

Veja agora o código Python completo que pede para o usuário informar os graus, os minutos e os segundos e mostra os graus decimais:

----------------------------------------------------------------------
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 pedir para o usuário informar os graus, minutos
  # e segundos
  graus = float(input("Informe os graus: "))
  minutos = float(input("Informe os minutos: "))
  segundos = float(input("Informe os segundos: "))
    
  # agora vamos calcular os graus decimais
  graus_decimais = graus + (minutos /  60.0) + \
    (segundos / 3600.0)
    
  # e agora mostramos o resultado
  print("Os graus decimais são: {0}".format(graus_decimais))
  
if __name__== "__main__":
  main()

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

Informe os graus: 85
Informe os minutos: 42
Informe os segundos: 13.75
Os graus decimais são: 85.70381944444445

Fique atento ao sinal. Se o valor em graus, minutos e segundos possuir os caracteres "W" ou "S", então o valor em graus decimais deverá levar o sinal de negativo.


Python ::: Dicas & Truques ::: Data e Hora

Datas e horas em Python - Como obter a hora como um decimal no intervalo 00-12 (formato 12 horas)

Quantidade de visualizações: 7386 vezes
Este exemplo mostra como obter a hora como um decimal no intervalo 00-12 (formato 12 horas) usando o método strftime() da classe datetime com o sinalizador "%I".

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

from datetime import datetime

def main():
  # Obtém um datetime da data e hora atual
  hoje = datetime.today()
 
  # Exibe a hora atual como um decimal
  print(hoje.strftime("A hora é: %I"))

if __name__== "__main__":
  main()

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

A hora é: 10


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 inversa

Quantidade de visualizações: 875 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()



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

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: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



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