سلسلة حل المشكلات (Problem Sloving) اليوم الثالث

التحدي رقم 3 لليوم رقم 3 من رمضان

اولا
كل عام و انتم بخير و اعاده الله عليكم بالمن و بالخير و البركه
لا تنشغل بالحل كثيرا كي لا تهمل عباداتك الاصليه
و لا تنسي تجديد نيتك فأن طلب العلم عباده
لا تنسوني و اخي المعتقل سياسيا من جميل دعائكم

وصف التحدي :

**مستوي التحدي : **
سهل برمجيا

وصف التحدي

قُم بكتابة دالة تستقبل عدد صحيح integer. تقوم هذه الدالة بالعد التنازلي من ذلك العدد بثلاث أرقام وصولاً إلى الصفر، ومن ثم إرجاع مصفوفة من الأعداد الزوجية لذلك العد التنازلي مرتبة تصاعدياً. في حال كان العد التنازلي لا يحتوي على الأعداد (لأن الحد المُمر يساوي 3 أو أقل) سيتم إرجاع القيمة [0].

ملحوظه : كلمة مصفوفة يعني ليست ← [,]

أضغط لرؤية المخرجات المتوقعة عشان تتيست الكود بتاعك

الاختبار 1

المدخلات (Inputs)

num = 10

المخرجات (Outputs

[4]

الاختبار 2

المدخلات (Inputs)

num = 23

المخرجات (Outputs)

[2,8,14,20]

الاختبار 3

المدخلات (Inputs)

num = 103

المخرجات (Outputs)

[4,10,16,22,28,34,40,46,52,58,64,70,76,82,88,94,100]

الاختبار 4

المدخلات (Inputs)

num = 15

المخرجات (Outputs)

[6,12]

حل التحدي

def countdown(num):
    even_nums = []
    for i in range(num,0,-3):
        if num == i :
            continue
        if i % 2 == 0:
            even_nums.append(i)

    if not even_nums :
        return [0]
    else:
        return sorted(even_nums)

3 إعجابات

كالعادة، هذه هي الدالة :

def even_numbers (number) : return [even_number for even_number in range (number-3, 0, -3) if even_number % 2 == 0]

وهكذا تستطيع تجربتها :

print (even_numbers (103)) # الناتج : [100, 94, 88, 82, 76, 70, 64, 58, 52, 46, 40, 34, 28, 22, 16, 10, 4]
4 إعجابات