Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

convites = 10L Syntax Error

Estou tentando executar junto do curso cada comando presente no vídeo

estou rodando o python 3.6

quando executei convites = 10L recebi a mensagem de Syntax Error

convites = 10l File "", line 1 convites = 10l ^ SyntaxError: invalid syntax

convites = 10L File "", line 1 convites = 10L ^ SyntaxError: invalid syntax

como faço para resolver?

2 respostas
solução!

Oi Américo, tudo bem?

Isso acontece por causa da sua versão do Python. No Python2 existia o tipo long que era identificado com a letra l no final do número.

Contudo, no Python3 não existe esse tipo. Ele foi unificado junto ao tipo int, por isso dá o erro de sintaxe.

Para resolver o erro, basta tirar a letra l do final do número.

Nos cursos sobre Python3 você verá algumas diferenças entre essas versões. Temos também um post bem bacana que mostra essas diferenças

Américo,

Antes de mais nada o curso que vc esta fazendo é de Python2, existe diferenças entre o Python3.

O Python suporta números inteiros de precisão arbitrária, o que significa que você pode representar números maiores que um tipo inteiro normal de 32 ou 64 bits. O L informa quando um literal é desse tipo e não um inteiro regular.

Note que isso L só aparece na saída do interpretador, apenas significa o tipo. Se você imprimir esse resultado em vez disso:

Python 2.7.15 (default, May 21 2018, 18:35:53) 
[GCC 4.9.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 25 ** 25
88817841970012523233890533447265625L
>>> print(25 ** 25)
88817841970012523233890533447265625
>>>

O L não é impresso.

No Python 3, esses tipos foram mesclados, então o Python 3 gera:

Python 3.6.3 (default, Jan 11 2018, 19:15:22) 
[GCC 4.9.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 25 ** 25
88817841970012523233890533447265625
>>> print(25 ** 25)
88817841970012523233890533447265625