python - নাম ত্রুটি: গ্লোবাল নাম 'xrange' পাইথন 3 তে সংজ্ঞায়িত করা হয় না




python-3.x runtimeexception (3)

আপনার কোড xrange=range যোগ করুন :) এটা আমার কাজ করে।

একটি পাইথন প্রোগ্রাম চালানোর সময় আমি একটি ত্রুটি পেয়েছি:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Wing IDE 101 4.1\src\debug\tserver\_sandbox.py", line 110, in <module>
  File "C:\Program Files (x86)\Wing IDE 101 4.1\src\debug\tserver\_sandbox.py", line 27, in __init__
  File "C:\Program Files (x86)\Wing IDE 101 4.1\src\debug\tserver\class\inventory.py", line 17, in __init__
builtins.NameError: global name 'xrange' is not defined

খেলা here থেকে।

এই ত্রুটি কি কারণ?


আপনি পাইথন 3 সহ পাইথন 2 কোডबेस চালানোর চেষ্টা করছেন। xrange() নামটি পাইথন 3 এ range() নামকরণ করা হয়েছে।

পরিবর্তে পাইথন 2 সঙ্গে খেলা চালান। আপনি যা করছেন তা জানেন না তবে এটি বন্ধ করার চেষ্টা করবেন না, সম্ভবত xrange() বনাম range() বাইরে আরও সমস্যা থাকবে।

রেকর্ডের জন্য, আপনি যা দেখছেন তা একটি সিনট্যাক্স ত্রুটি নয় বরং এটি একটি রানটাইম ব্যতিক্রম।

যদি আপনি জানেন যে আপনি কী করছেন এবং পাইথন 2 কোডবেজটি পাইথন 3 এর সাথে সামঞ্জস্যপূর্ণভাবে সক্রিয় করে থাকেন তবে আপনি আপনার মডিউলে গ্লোবাল নাম যুক্ত করে কোডটি সেজ করতে পারেন। (আপনার পাইনথন 3 কোডবেসে list(range(...)) সহ কোনও বিদ্যমান range() ব্যবহার করতে হবে তা নিশ্চিত করতে আপনাকে পাইথন 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(...) সহ xrange(...) এর সমস্ত ব্যবহার প্রতিস্থাপন করুন এবং তারপরে পাইথন 3 সিনট্যাক্সটি পাইথন 2 এর সাথে সামঞ্জস্যপূর্ণ করার জন্য একটি পৃথক শিম ব্যবহার করুন:

try:
    # Python 2 forward compatibility
    range = xrange
except NameError:
    pass

# Python 2 code transformed from range(...) -> list(range(...)) and
# xrange(...) -> range(...).

দ্বিতীয়টি কোডবেসগুলির জন্য আরও বেশি পছন্দযোগ্য যা পাইথন 3টিকে শুধুমাত্র দীর্ঘ রানতে উপযুক্ত করতে চান, তখনই সহজেই পাইথন 3 সিনট্যাক্স ব্যবহার করা সহজ।


প্রতিস্থাপন করা

Python 2 xrange যাও

পাইথন 3 range

সব একই বিশ্রাম।







xrange