Python 3 ile bir Python 2 kod tabanı çalıştırmaya çalışıyorsunuz. Python 3 xrange()olarak yeniden adlandırıldı range().
Bunun yerine oyunu Python 2 ile çalıştırın. Eğer ne yaptığınızı bilmedikçe portuna bunu kalkmayın, büyük olasılıkla ötesinde daha fazla sorun olacak xrange()vs. range().
Kayıt için, gördüğünüz sözdizimi hatası değil, çalışma zamanı istisnasıdır.
Ne yaptığınızı biliyorsanız ve Python 3 ile uyumlu bir Python 2 kod tabanı oluşturuyorsanız, genel adı modülünüze takma ad olarak ekleyerek kodu köprüleyebilirsiniz range. ( Python 3'te hala bir liste nesnesi aldığınızdan emin olmak için Python 2 kod tabanındaki mevcut kullanımları güncellemeniz gerekebileceğini dikkate alın ):range()list(range(...))
try:
# Python 2
xrange
except NameError:
# Python 3, xrange is now named range
xrange = range
# Python 2 code that uses xrange(...) unchanged, and any
# range(...) replaced with list(range(...))
ya da her kullanım yerine xrange(...)ile range(...)kod temeli ve Python 2 Python 3 sözdizimi uyumlu hale getirmek için, farklı bir dolgu kullanımı:
try:
# Python 2 forward compatibility
range = xrange
except NameError:
pass
# Python 2 code transformed from range(...) -> list(range(...)) and
# xrange(...) -> range(...).
İkincisi, sadece uzun vadede Python 3 uyumlu olmayı amaçlayan kod tabanları için tercih edilir , daha sonra mümkün olduğunda Python 3 sözdizimini kullanmak daha kolaydır.