Eu sou um novo programador Python que está dando o salto de 2.6.4 para 3.1.1. Tudo correu bem até eu tentar usar a declaração 'else if'. O intérprete me fornece um erro de sintaxe após o 'if' in 'else if' por um motivo que eu não consigo entender.
def function(a):
if a == '1':
print ('1a')
else if a == '2'
print ('2a')
else print ('3a')
function(input('input:'))
Provavelmente estou sentindo falta de algo muito simples; no entanto, não consegui encontrar a resposta sozinho.
python
python-3.x
Paul Turner
fonte
fonte
Respostas:
Em python "else if" está escrito "elif".
Além disso, você precisa de dois pontos após o
elif
e oelse
.Resposta simples a uma pergunta simples. Eu tive o mesmo problema, quando comecei (nas últimas duas semanas).
Portanto, seu código deve ler:
fonte
elsif
, acho que o Python tinha que ser aquele personagem mais eficiente. "Elif" parece ter se originado com o pré-processador C, usado#elif
muito antes do Python AFAICT. Obviamente, nesse contexto, ter uma diretiva de token único é valioso, pois a análise#else if <code>
vs.#else <code that could theoretically even be an if statement>
complicaria uma sintaxe que se destinava a ser muito simples.Você quer dizer
elif
?fonte
fonte
desde os tempos antigos, a sintaxe correta para o
if/else if
Python éelif
. A propósito, você pode usar o dicionário se você tem um monte deif/else
.egPara msw, exemplo de execução de funções usando o dicionário.
fonte
elif
.exec
ing. Esta é uma boa prática? Você pode citar um exemplo?<foo>
fordo_foo
, você pode criar o dict em tempo real quando o aplicativo iniciar..get
método que permite especificar um valor padrão. Seu primeiro exemplo pode ser escrito comoprint d.get(a, "3a")
Aqui está um pouco de refatoração de sua função (ela não usa "else" ou "elif"):
@ ghostdog74: Python 3 requer parênteses para "imprimir".
fonte
('1', '2')
, o op está usando stringsDeve ser corrigido para:
Como você pode ver, caso contrário, se for alterado para elif, deve haver dois pontos após '2' e, então, deve haver uma nova linha após a instrução else e feche o espaço entre a impressão e os parênteses.
fonte