Long Int literal - Ungültige Syntax?

Das von mir verwendete Python-Lehrbuch ist etwas veraltet, aber ich habe beschlossen, es weiterhin mit der neuesten Version von Python zu verwenden, um das Debuggen zu üben. Manchmal gibt es ein paar Dinge im Buchcode, von denen ich erfahre, dass sie sich in der aktualisierten Version von Python geändert haben, und ich bin mir nicht sicher, ob dies eine davon ist.

Während ein Programm so repariert wird, dass es längere Fakultätswerte ausgeben kann, wird ein langes int verwendet, um das Problem zu lösen. Der ursprüngliche Code lautet wie folgt:

#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()

Die long int-Version lautet wie folgt:

#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()

Das Ausführen der langen int-Version des Programms in der Python-Shell erzeugt jedoch den folgenden Fehler:

>>> 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

Antworten auf die Frage(1)

Ihre Antwort auf die Frage