Ir ao conteúdo
  • Cadastre-se

Animalz3

Membro Júnior
  • Posts

    7
  • Cadastrado em

  • Última visita

Reputação

1
  1. Estou tentando criar uma função que calcule função de segundo grau, e para isso adicionei 4 inputs iniciais (input de a, b, c, x). Depois disso, criei uma função que calcule o valor de delta para que então a função que calcula as raízes reais fosse criada. Ficou desse jeito a=int(input("a=")) b=int(input("b=")) c=int(input("c=")) x=int(input("x=")) def delta(a,b,c): return (b**2)-(4*(a*c)) def funcao(): if delta>=0: print("a função é {}*({}**2)+{}*{}+{}=0 com o valor de x={}".format(a,x,b,x,c,x)) return x1==((-b)+ (delta**(1/2)))//(2*a) return x2==((-b)- (delta**(1/2)))//(2*a) print("As raízes reais são {} e {}".format(x1,x2)) else: print("Delta tem valor menor que 0, logo X não existe no conjunto dos números reais") delta(a,b,c) funcao() O problema é que quando executo no terminal, o seguinte erro aparece: Traceback (most recent call last): File "C:\Users\x\Desktop\4.py", line 25, in <module> funcao() File "C:\Users\x\Desktop\4.py", line 13, in função if delta>=0: TypeError: '>=' not supported between instances of 'function' and 'int' Porque não é possível o booleano >= entre a função delta (que possui um valor determinado, já que ela contém fórmula com variáveis conhecidas) e o valor 0?
  2. Não consigo exatamente formular um loop que vá comparando os dígitos de um número... tá me parecendo complexo demais, estou a dias tentando resolver esse simples problema e não consigo pensar em nada que dê conta. Eu sei que o dígito das unidades seria o resto da divisão do número por 10, e o dígito das dezenas seria a divisão inteira do número por 10 até essa divisão ser menor do que dez. Mas eu não consigo pensar em uma estrutura de repetição que fique repetindo isso ao mesmo tempo que compara os valores dos dígitos. adicionado 15 minutos depois Não consigo exatamente formular um loop que vá comparando os dígitos de um número... tá me parecendo complexo demais, estou a dias tentando resolver esse simples problema e não consigo pensar em nada que dê conta. Eu sei que o dígito das unidades seria o resto da divisão do número por 10, e o dígito das dezenas seria a divisão inteira do número por 10 até essa divisão ser menor do que dez. Mas eu não consigo pensar em uma estrutura de repetição que fique repetindo isso ao mesmo tempo que compara os valores dos dígitos. #edit: Consegui. Pode fechar o tópico
  3. Olá pessoal, estou com um problema num exercício relativo a estrutura de repetição (loop). O problema consiste em criar um programa que identifique se os algarismos de um número inputado pelo usuário sejam iguais. Por exemplo, se o usuário digitar 346, o programa deve devolver que não há dígitos iguais no número, mas se o usuário digitar 384955, o programa deve retornar que há os dígitos "5" iguais no número. Alguém consegue me dar uma ajuda? de preferência apenas usando loop e condicionais. Obrigado!
  4. Muito obrigado pela sua explicação! Ajudou bastante a entender onde eu estava com problema. Abraço
  5. Então, será que é isso? Porque eu consegui fazer o cmd me retornar o valor certo de B quando fiz a alteração em A: return(valuea) ao invés de print(valuea). Digo, não precisei alterar nada em B para ter a resposta que eu esperava. Além do mais, o erro que você ilustrou não está relacionado ao fato de que o valor de n2 é um inteiro e não uma string, então por isso que grafar um número entre aspas geraria um erro? Obrigado pela paciência. Abraços
  6. Oi pessoal, recentemente comecei a estudar Python e cheguei na parte de funções (def). Tentei fazer o seguinte, definir a função A com um valor, e depois defini B como dependente do valor de A, desta maneira que está no anexo. Quando fui rodar no cmd, o erro foi o seguinte: 1 1 Traceback (most recent call last): File "C:\Users\Desktop\python_intro.py", line 10, in <module> B(2) File "C:\Users\Desktop\python_intro.py", line 8, in B print(A(1) + valueb) TypeError: unsupported operand type(s) for +: 'NoneType' and 'int' Aparentemente o erro está na parte da função B, já que rodei separadamente a função A e o valor apresentado foi 1, como esperado. Minha pergunta é: porque esse erro está acontecendo se teoricamente está tudo definido corretamente na função B? Obrigado

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...