Anda mencoba menjalankan basis kode Python 2 dengan Python 3. xrange()diubah namanya menjadi range()Python 3.
Jalankan game dengan Python 2 sebagai gantinya. Jangan mencoba untuk port kecuali Anda tahu apa yang Anda lakukan, kemungkinan besar akan ada lebih banyak masalah di luar xrange()vs range().
Sebagai catatan, apa yang Anda lihat bukan kesalahan sintaks tetapi pengecualian runtime.
Jika Anda tahu apa yang Anda lakukan dan secara aktif membuat basis kode Python 2 yang kompatibel dengan Python 3, Anda dapat menjembatani kode tersebut dengan menambahkan nama global ke modul Anda sebagai alias untuk range. (Mempertimbangkan bahwa Anda mungkin harus memperbarui setiap range()penggunaan yang ada dalam basis kode Python 2 dengan list(range(...))untuk memastikan Anda masih mendapatkan objek daftar di 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(...))
atau ganti semua penggunaan xrange(...)dengan range(...)dalam basis kode dan kemudian gunakan shim yang berbeda untuk membuat sintaks Python 3 kompatibel dengan Python 2:
try:
# Python 2 forward compatibility
range = xrange
except NameError:
pass
# Python 2 code transformed from range(...) -> list(range(...)) and
# xrange(...) -> range(...).
Yang terakhir lebih disukai untuk basis kode yang ingin bertujuan menjadi Python 3 yang kompatibel hanya dalam jangka panjang, lebih mudah untuk kemudian hanya menggunakan sintaks Python 3 bila memungkinkan.