Ви намагаєтеся запустити базу коду Python 2 з Python 3. xrange()був перейменований range()в Python 3.
Запустіть гру замість Python 2. Не намагайтеся перенести його , якщо ви не знаєте , що ви робите, швидше за все , буде більше проблем поза xrange()VS. range().
Для запису те, що ви бачите, - це не синтаксична помилка, а натомість виняток із виконання.
Якщо ви знаєте, чим займаєтесь, і активно робите базу даних коду Python 2 сумісною з Python 3, ви можете з’єднати код, додавши глобальне ім'я до свого модуля як псевдонім для range. (Враховуйте, що вам, можливо, доведеться оновити будь-яке існуюче range()використання в кодовій базі Python 2, list(range(...))щоб переконатися, що ви все ще отримаєте об’єкт списку в Python 3):
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(...))
або замінити всі види використання xrange(...)з range(...)в кодову , а потім використовувати іншу підкладку , щоб зробити синтаксис Python 3 сумісний з Python 2:
try:
# Python 2 forward compatibility
range = xrange
except NameError:
pass
# Python 2 code transformed from range(...) -> list(range(...)) and
# xrange(...) -> range(...).
Останнє краще для кодових баз, які хочуть прагнути бути Python 3 сумісними лише в довгостроковій перспективі, простіше просто просто використовувати синтаксис Python 3, коли це можливо.