Ir para conteúdo
Ramon Batista

Exercícios de Programação Phyton

Recommended Posts

O que você não sabe fazer exatamente?

Não sabe como funciona loop na linguagem, não consegue identificar um padrão na soma....?

Compartilhar este post


Link para o post
Compartilhar em outros sites
2 horas atrás, _Isis_ disse:

O que você não sabe fazer exatamente?

Não sabe como funciona loop na linguagem, não consegue identificar um padrão na soma....?

Estou em duvida com o padrão, até o momento desenvolvi isso:

 

 n=int(input("n:"))
x=1
y=n
w=0
while x<=y:
    c=x/(y-(x-1))
    w+=c
    x+=1
print(w)

 

Porem não sei se estou seguindo a linha de raciocínio correto. 

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que está estranho p/ mim é aquele 2 no numerador... Eu conheço a série como


1/n + 2/(n-1) + 3/(n-2) + ... + (n-1)/2 + n/1

Eu usaria o for no lugar do while. É menos coisa p/ se controlar:

 

n = input("n: ")
soma = 0
for x in xrange(1,n+1):
  soma = soma + x/float(n-x+1)
  
print(soma)

Isso no Python 2.7. No 3 não tem xrange, você usa o range (mas funcionamento é o mesmo: ele gera inteiros de início até final-1) e não é necessário converter o denominador p/ float (no Python 2.7 a divisão é inteira por padrão. No 3 funciona como divisão normal com float; p/ você ter a divisão como inteiro é //)

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 24/11/2017 at 20:07, AdrianoDBA disse:

Função Harmonica 1/n = Ln x mais simples!!

 

Pode ser mais simples, mas não atende se o objetivo é aprender a criar funções na linguagem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Função que falei é função matemática pra poder entender o porque de uma ser a outra.
Agora pra programar uma função ai sim pode escolher a melhor maneira de criar e colocar pra funcionar.
Desculpa nao me fazer entender!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites
2 horas atrás, AdrianoDBA disse:

Função que falei é função matemática pra poder entender o porque de uma ser a outra.
Agora pra programar uma função ai sim pode escolher a melhor maneira de criar e colocar pra funcionar.
Desculpa nao me fazer entender!!!

 

Tranquilo. É tipo o lance de calcular fibonacci recursivamente. A fórmula de Binet é mais eficiente, mas quando o assunto é recursão...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por thiagofdiniz
      Estou fazendo um curso técnico e estou com uma duvida sobre um exercício que me foi passado com a seguinte pergunta:
      Elabore um algoritmo que leia dois números, some cinco ao de menor valor, compare os dois valores e mostre o maior.
       
      Mas no meu código, ele está somando e mostrando o de menor valor, e não o de menor
      Será que alguém pode me ajudar não estou conseguindo enxergar o erro.. 
      x=int(input('Digite um número e aperte ENTER')) y=int(input('Digite um número e aperte ENTER')) if x>y: y=y+5 if x>y: print(x) else: print(y) else: x<y x=x+5 if x<y: print(y) else: print(x)  
    • Por FIM1999
      Preciso montar um sistema para geração automática de carteirinha para membros de um clube de benefícios. Alguém já tem alguma codificação pronta para isso?
      Ou então sabe como fazer?
    • Por anllj
      Alguém pode me ajudar? 
       
      Escrever um programa que permita ao usuário digitar o dia e mês de seu
      aniversário e a data de hoje (dia e mês); em seguida, o programa deve calcular
      quantos dias faltam entre a data de hoje e a data do próximo aniversário. Suponha
      todos os meses com 30 dias.
    • Por santans
      Olá, gostaria de saber se houve algum tipo de alteração no função embutida do python range.
      O problema é o seguinte quando eu chamo a função e digito:
      >>>RANGE (5)
      O resultado que recebo é o seguinte:
      >>>RANGE (0, 5)
      Por favor poderiam me dizer se fiz algo errado ou se alteraram as propriedades dessa função.
      Agradeço desde ja quem puder ajudar.
    • Por GabrielMoura
      Boa noite pessoal,
      Estou construindo uma matriz em Python, mas estou com dificuldade na hora do print. 
      Segue o meu código:
       
      linhas = 4 entrada = input() valor = entrada.split() matriz = [] while (entrada != ''): for i in range(linhas): linha = [] for j in range(len(valor)): valor[j] = int(valor[j]) linha.append(valor[j]) matriz.append(linha) entrada = input() print(*matriz, sep='\n') Quando digito:
      1 2 3 4
      5 6 7 8
      A impressão é:
      [1, 2, 3, 4]
      [1, 2, 3, 4]
       
      Alguém pode me ajudar?
      Obrigado
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.