3
respostas

[Dúvida] erro de syntax no vs code

Evandro, boa tarde!
eu to com uma dúvida a respeito de um problema qdo eu vou imprimir em um file para notebook e um .py .
qdo eu rodo o código no arquivo do norebook ta ok, mas qdo eu to rodando no arquivo do .py ta dando no terminal ta dando invalid syntax.
Ps: To revisando tudo para seguir com o módulo 3.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade Insira aqui a descrição dessa imagem para ajudar na acessibilidade

3 respostas

Evandro,
Consegui resolver. Vi que tem que o terminal estava em modo interativo.
Insira aqui a descrição dessa imagem para ajudar na acessibilidade Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Olá, Fabiana. Como vai?

Que excelente notícia que você conseguiu identificar e resolver o problema sozinha! Parabéns pela autonomia e pela persistência. Esse tipo de diagnóstico é uma parte fundamental da rotina de qualquer pessoa que trabalha com dados e programação. Como você está revisando tudo com muito capricho antes de entrar no Módulo 3, vale a pena entender exatamente o que causou esse comportamento para consolidar o seu aprendizado técnico.

Analisando as capturas de tela que você compartilhou, conseguimos mapear perfeitamente a diferença de comportamento entre os dois ambientes no VS Code:

O que causou o SyntaxError: invalid syntax?

Olhando atentamente para a sua terceira imagem, o seu terminal do VS Code exibe três setas para a esquerda no canto inferior: >>>. Isso indica que o seu terminal estava com o Modo Interativo do Python (REPL) ativado dentro do PowerShell.

O modo interativo foi feito para receber apenas comandos diretos do Python linha por linha (como print('Ola')). Quando você clicou no botão de "Play" do VS Code para rodar o arquivo .py, o editor tentou colar o comando de execução do sistema operacional dentro do modo interativo:

>>> & C:/Users/fraga/AppData/Local/Programs/Python/Python313/python.exe ...

Como o caractere & e os caminhos de pastas não são códigos válidos da linguagem Python, o interpretador não entendeu o comando e disparou o erro de sintaxe.

Por que no Notebook (.ipynb) funcionou direto?

Os arquivos de Notebook funcionam de forma totalmente isolada do terminal comum. Cada célula de código envia as instruções diretamente para um motor oculto chamado Kernel do Jupyter, que executa os blocos de forma independente e devolve o resultado logo abaixo da célula, sem misturar com os comandos do terminal do seu sistema operacional.

Dica de boa prática para os próximos módulos

Nas suas últimas imagens, notei que você corrigiu o problema saindo do modo interativo (digitando exit()), e o seu código com as variáveis da Fabiana, Petrolina e idade rodou perfeitamente!

Para deixar os seus textos impressos no terminal ainda mais legíveis e elegantes a partir do Módulo 3, uma excelente prática recomendada em Python é substituir o uso das vírgulas seguidas por strings soltas pelas f-strings (strings formatadas). Elas deixam o código muito mais limpo e evitam espaçamentos indesejados.

Veja a diferença na escrita do seu código da última imagem:

# Como estava (usando várias vírgulas e aspas):
print('meu nome é', nome, 'eu tenho', idade, 'e moro', reside, gosta)

# Boa prática com f-string (muito mais natural de ler e digitar):
print(f"Meu nome é {nome}, eu tenho {idade} anos, moro em {reside} e gosta de Python: {gosta}")

Continue com essa ótima atenção aos detalhes e foco nas revisões. Você está super preparada para avançar para o próximo módulo!

Espero que possa ter lhe ajudado!

Evandro, muito obrigada!!
Gostei muito da sua dica no que se refere as f-string, além de achá-las mais elegantes tb, visualmente fica melhor para "separar" as variáveis do resto da frase na célula.
Tava precisando fazer essa revisão pq não adianta avançar sem base. Assisti à umns vídeos da #treinamento e eles soltam tudo livre. Para quem sai do zero isso não funciona. Os vídeos que les oferecem de base de Python tem q obrigatoiramente passar pelo o que nós estamos vendo aqui. Como tb não concordo como estão querendo fazer as pessoas aprender a usar o Python, excel sem base alguma só com IA...Isso é ilusão pq se vc não souber donimar o Excel, Python e a IA não te der a resposta correta e aí? Não acredito em "milagres" nesse nível operacional.
Obrigada mais uma vez!