আপনি পাইথন 3 দিয়ে পাইথন 2 কোডবেস চালানোর চেষ্টা করছেন পাইথন 3-এ xrange()নতুন নামকরণ করা range()হয়েছিল।
এর পরিবর্তে পাইথন 2 দিয়ে গেমটি চালান। এটা বন্দর করার চেষ্টা করবেন না যদি না আপনি জানেন আপনি কি করছেন, সম্ভবত সেখানে পরলোক আরো সমস্যা হবে xrange()বনাম range()।
রেকর্ডের জন্য, আপনি যা দেখছেন তা কোনও সিনট্যাক্স ত্রুটি নয় বরং পরিবর্তে রানটাইম ব্যতিক্রম।
আপনি কী করছেন তা যদি আপনি জানেন এবং সক্রিয়ভাবে পাইথন 3 এর সাথে একটি পাইথন 2 কোডবেস সুসংগতভাবে তৈরি করছেন, আপনি আপনার মডিউলে গ্লোবাল নামটি একটি এলিফ হিসাবে যুক্ত করে কোডটি ব্রিজ করতে পারেন range। (একাউন্টে বিবেচনা করুন যে পাইথন 3 এ আপনি এখনও কোনও তালিকার অবজেক্ট পাবেন তা নিশ্চিত করতে আপনাকে পাইথন 2 কোডবেজে কোনও বিদ্যমান ব্যবহার আপডেট করতে হতে পারে ):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(...))
অথবা সমস্ত ব্যবহার প্রতিস্থাপন xrange(...)সঙ্গে range(...)কোডবেস এবং তারপর পাইথন 2 পাইথন 3 সিনট্যাক্স সামঞ্জস্যপূর্ণ করতে একটি বিভিন্ন shim ব্যবহার করুন:
try:
# Python 2 forward compatibility
range = xrange
except NameError:
pass
# Python 2 code transformed from range(...) -> list(range(...)) and
# xrange(...) -> range(...).
আধুনিক codebases যে পাইথন 3 সামঞ্জস্যপূর্ণ হতে লক্ষ্য রাখি করতে চান তাদের জন্য বাঞ্ছনীয় শুধুমাত্র দীর্ঘ রান, এটা যখনই সম্ভব তারপর ব্যবহার করতে পাইথন 3 সিনট্যাক্স সহজ।