Ir ao conteúdo
  • Cadastre-se

Python python erro de compilação


Ir à solução Resolvido por devair1010,

Posts recomendados

import numpy as np
X = np.array([1, 1.4, 2.5])
w = np.array([0.4, 0.3, 0.5])
def net_input(X, w):
return np.dot(X, w)

def logistic(z):
return 1.0 / (1.0 + np.exp(-z))

def logistic_activation(X, w):
z = net_input(X, w)
return logistic(z)

print('P(y=1|x) = %.3f' % logistic_activation(X, w))

o compilador e o google disseram que tenho erros de identação, mas não sei onde...

 

┌──(venv)(usuario㉿computador)-[~]
└─$ python py.py
  File "/home/usuario/py.py", line 5
    return np.dot(X, w)
    ^
IndentationError: expected an indented block

 

imagino que seja algo ligado ao dois pontos (:), pois não vi ele fechar em nenhum momento... esse script é direto da internet, nem mudei ele, pois estou recém entrando no mundo de python

Link para o comentário
Compartilhar em outros sites

@Um mero usuário     em python os códigos precisam ter identação , obrigatória , senão erros ,  no final dos loops e if's  coloca dois pontos e muitas vezes variáveis não precisam ser criadas antecipadamente , e esse código poderia ser assim  :

import numpy as np
X = np.array([1, 1.4, 2.5])
w = np.array([0.4, 0.3, 0.5])
def net_input(X, w):                # eh uma função
    return np.dot(X, w)             # que termina quando terminar a identação

# ( esse espaço vazio antes do return )  eh identação
# os dois ponto são colocados ao fim de loop's e if's
# essa cerquinha indica comentarios que depois dela tudo eh ignorado pelo compilador 

def logistic(z):                    # eh outra função
    return 1.0 / (1.0 + np.exp(-z)) # que termina quando terminar a identação

def logistic_activation(X, w):      # eh outra função
    z = net_input(X, w) 
    return logistic(z)              # que termina quando terminar a identação

print('P(y=1|x) = %.3f' % logistic_activation(X, w))

 

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

entendi... aquilo atrás do return é um tab ou são espaços?

outra coisa: aquele def ali seria equivalente em C a uma subrotina?

------------

int teste(bool a; bool b){ if (a != b) return 1; else return 0 }

----------------

def teste(a, b):

<espaçamento>if(a != b):

<espaçamento2x>return 1

 

<espaçamento>else:

<espaçamento2x>return 0

#meti 2 x enter pra sair dos 2 ponto e virgula, isso?

#fim

----------------

Link para o comentário
Compartilhar em outros sites

  • Solução

@Um mero usuário    esse espaçamento da identacao pode ser com barra de espaço ou tecla TAB ,  como preferir ,  mas normalmente são espaços mesmo , geralmente Quatro , e que são inseridos automaticamente pelo editor do PYCHARM ,  por padrão , e os DEF são o equvalentes de funções e subrotinas , e não precisa pular duas Linhas   não  ,   pode ser apenas uma mesmo .  essas funções , são assim mesmo , como você colocou  . 

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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

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

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!