Error de syntax [RESOLVIDO]

1. Error de syntax [RESOLVIDO]

Adriano Camilo
Acc_007

(usa Manjaro Linux)

Enviado em 31/08/2021 - 10:52h

Olá ,sou iniciante no Python. Estava escrevendo um código,mas me deparei várias vezes com erro de sintaxe. Alguém sabe o que pode ser? escreverei o código e o erro abaixo:
erro:
File "/home/camilo/Área de trabalho/py/Método ABC", line 25
if xem == A:
^
SyntaxError: invalid syntax

Process returned 1 (0x1) execution time : 0.060 s
Press [ENTER] to continue...




Algumas partes estão ,propositalmente, com uma variável fixa

from time import sleep
print("Olá, esse programa visa organizar a lista no método ABC")
print("Nesse programa digite 1 para sim e 0 para não")
#l1 = list(input("Digite a lista:"))#
l1 = ["peixe","olho","pé","urso"]
ne=(len(l1))
print(ne)
qde = int(input("Está certo?"))
if qde == 1:
print("A análise dos elementos está sendo feita,espere um pouco")
sleep(1)
print("Feito!Faremos ,agora,a classificação.Abaixo está a pequena tabela")
print("Uma tabela para entendimento das funções")
print('-------------------------')
print("A=1")
print("B=2")
print("C=3")
print('-------------------------')
print("Lembre-se de que a sua lista deve estar separada por vírgula")
for x in l1:
A = 1
B = 2
C = 3
xem=int(input("Digite a prioridade do elemento" + str(x))
if xem == A:
print("o elemento será gravado no arquivo a")
elif xem == B:
print("o elemnto será gravado no arquivo b")
elif xem == C:
print("o elemento será grava na arquivo c")
else:
print("Você digitou o número errado,o progama será fechado")
exit()

else:
print("Reveja sua lista")
exit()



  


2. Re: Error de syntax

Adriano Christi
ACMM

(usa Ubuntu)

Enviado em 31/08/2021 - 11:42h

Acc_007 escreveu:

Olá ,sou iniciante no Python. Estava escrevendo um código,mas me deparei várias vezes com erro de sintaxe. Alguém sabe o que pode ser? escreverei o código e o erro abaixo:
erro:
File "/home/camilo/Área de trabalho/py/Método ABC", line 25
if xem == A:
^
SyntaxError: invalid syntax

Process returned 1 (0x1) execution time : 0.060 s
Press [ENTER] to continue...




Algumas partes estão ,propositalmente, com uma variável fixa

from time import sleep
print("Olá, esse programa visa organizar a lista no método ABC")
print("Nesse programa digite 1 para sim e 0 para não")
#l1 = list(input("Digite a lista:"))#
l1 = ["peixe","olho","pé","urso"]
ne=(len(l1))
print(ne)
qde = int(input("Está certo?"))
if qde == 1:
print("A análise dos elementos está sendo feita,espere um pouco")
sleep(1)
print("Feito!Faremos ,agora,a classificação.Abaixo está a pequena tabela")
print("Uma tabela para entendimento das funções")
print('-------------------------')
print("A=1")
print("B=2")
print("C=3")
print('-------------------------')
print("Lembre-se de que a sua lista deve estar separada por vírgula")
for x in l1:
A = 1
B = 2
C = 3
xem=int(input("Digite a prioridade do elemento" + str(x))
if xem == A:
print("o elemento será gravado no arquivo a")
elif xem == B:
print("o elemnto será gravado no arquivo b")
elif xem == C:
print("o elemento será grava na arquivo c")
else:
print("Você digitou o número errado,o progama será fechado")
exit()

else:
print("Reveja sua lista")
exit()


O erro está na linha que possui esse trecho de código:

xem=int(input("Digite a prioridade do elemento" + str(x)) 


Onde está faltando um dos parênteses no final e deveria ficar assim:

xem=int(input("Digite a prioridade do elemento" + str(x))) 


Além de que o trecho do código onde aparecem o if, elif e else está com a indentação fora do padrão e deveria ficar assim:

xem=int(input("Digite a prioridade do elemento" + str(x)))
if xem == A:
print("o elemento será gravado no arquivo a")
elif xem == B:
print("o elemnto será gravado no arquivo b")
elif xem == C:
print("o elemento será grava na arquivo c")
else:
print("Você digitou o número errado,o progama será fechado")
exit()


Uma dica que eu dou por experiência é que nem sempre o erro está no trecho que o Python descreve no console. Algumas vezes está algumas linhas antes.

Outra dica que eu dou, é que use a f-string pra formatar textos no Python. Usando esse mesmo trecho de código acima, com f-string ficaria assim:

xem=int(input(f"Digite a prioridade do elemento {x} ")) 


O f antes das aspas indica que ali vai haver a formatação do texto do input com a variavel inserida nele e pra que o Python identifique a variável dentro do texto, deve-se colocá-la entre chaves { } além de não precisar fazer a conversão de um valor inteiro em string usando o método str( ), tornando, assim, o código bem mais legível e compreensível.

Espero que ajude.

Guns don't kill people. People kill people.


3. Re: Error de syntax [RESOLVIDO]

Lisandro Guerra
Lisandro

(usa Arch Linux)

Enviado em 01/09/2021 - 15:54h

Olá Adriano, os erros são falta de um parenteses e de identação.
Todo o bloco if/elif deveria estar na mesma identação do input, que por sua vez tem um fechamento de parenteses faltando..
Se quiser separar coloque uma linha em branco, a identação não cabe ali.

Abraço.

EDIT: Resposta do Adriano Christi acima está perfeita. Encerre o tópico e atribua a ele a melhor resposta, assim ele ganha pontos e fica estimulado a continuar ajudando. Abraços






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts