• 0

ما معادل تعليمة الجمل الشرطية متعددة الحالات في بايثون؟

هل هنالك معادل للجملة الشرطية المختصرة التي تعمل حسب حالة متغير معين (case/switch statement) كما في C# في لغة بايثون؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

للأسف لا توجد طريقة رسمية في بايثون للقيام بجمل شرطية حسب الحالة، ففي بايثون يعتبر أفضل حل لحالات الجمل الشرطية هي if/elif/else مهما كان حجمها، وعلى الرغم من ذلك فإنه هنالك العديد من البدائل لهذا النوع من الجمل الشرطية والتي يمكنك استخدمها في برامجك، فمثلا يمكنك استخدام طريقة القاموس حيث ستصنع قاموس وتضع فيه جميع الاختيارات المطلوبة ومن ثم تنشئ لكل خيار دالة معينة له تضع فيه الأوامر التي تريد تطبيقها كما في المثال التالي:

# define the function blocks
def zero():
    print "You typed zero.\n"

def sqr():
    print "n is a perfect square\n"

def even():
    print "n is an even number\n"

def prime():
    print "n is a prime number\n"

# map the inputs to the function blocks
options = {0 : zero,
           1 : sqr,
           4 : sqr,
           9 : sqr,
           2 : even,
           3 : prime,
           5 : prime,
           7 : prime,
}

وستتمكن من اختيار الحالة الشرط الصحيحة عن طريق السطر التالي:

options[num]()

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن