long data python python-3.x int syntax-error long-integer

python - data - Long Int literal-¿Sintaxis inválida?



var python 3 (1)

Solo suelta la L ; todos los enteros en Python 3 son largos. Lo que fue long en Python 2 ahora es el tipo int estándar en Python 3.

El código original tampoco tiene que usar un entero largo; Python 2 cambia al tipo long forma transparente según sea necesario de todos modos .

En su lugar, puede instalar un intérprete de Python 2.7, abrirse paso en el libro sin tener que aprender primero cómo portar Python 2 a Python 3. ¡Python 2 aún no se va! O recoge un libro diferente; Think Python, 2a edición está completamente actualizada para Python 3 y está disponible gratuitamente en línea, o elige cualquiera de los otros libros recomendados y tutoriales de la sala de chat de Stack Overflow Python.

El libro tutorial de Python que estoy usando está desactualizado, pero he decidido seguir usándolo con la última versión de Python para practicar la depuración. A veces hay algunas cosas en el código del libro que aprendo han cambiado en la versión actualizada de Python, y no estoy seguro de si este es uno de ellos.

Mientras arregla un programa para que pueda imprimir valores factoriales más largos, utiliza una int larga para resolver el problema. El código original es el siguiente:

#factorial.py # Program to compute the factorial of a number # Illustrates for loop with an accumulator def main(): n = input("Please enter a whole number: ") fact = 1 for factor in range(int(n), 0, -1): fact = fact * factor print("The factorial of ", n, " is ", fact) main()

La versión int larga es la siguiente:

#factorial.py # Program to compute the factorial of a number # Illustrates for loop with an accumulator def main(): n = input("Please enter a whole number: ") fact = 1L for factor in range(int(n), 0, -1): fact = fact * factor print("The factorial of ", n, " is ", fact) main()

Pero ejecutar la versión int larga del programa en el shell de Python genera el siguiente error:

>>> import factorial2 Traceback (most recent call last): File "<pyshell#3>", line 1, in <module> import factorial2 File "C:/Python34/factorial2.py", line 7 fact = 1L ^ SyntaxError: invalid syntax