مقدمة في علوم الحاسوب والبرمجة باستخدام Python › المحاضرة 12: فهم القوائم، والدوال ككائنات، والاختبار، وتصحيح الأخطاء 14 / 30 السابق التالي

المحاضرة 12: تمرين الإصبع وحلّه الرسمي — عدّ الجذور التربيعية

المحاضرة 12: تمرين الإصبع وحلّه الرسمي — عدّ الجذور التربيعية (Count Square Roots)

المصدر: آنا بيل (Ana Bell)، معهد ماساتشوستس للتكنولوجيا، MIT OpenCourseWare، مقرر 6.100L: مقدمة في علوم الحاسوب والبرمجة باستخدام بايثون، خريف 2022 (Fall 2022). هذه ترجمة وتكييف عربيان غير رسميان بموجب CC BY-NC-SA 4.0، ولا تعنيان اعتماد MIT أو تأييده. شروط الاستخدام والإسناد.

المصادر الدقيقة: السؤال في صفحة المحاضرة، صفحة مورد الحل، PDF الحل الرسمي.

صفحة المصدر 1: تمارين الأصابع للمحاضرة 12

موعد تسليم الأسئلة أدناه: الاثنين 24 أكتوبر 2022، الساعة 03:00:00 مساءً. هذا هو موعد المقرر الأصلي، وليس موعدًا جديدًا لهذه الترجمة.

1) السؤال 1 من 1

نفّذ الدالة التي تستوفي المواصفة التالية:

def count_sqrts(nums_list):
    """
    nums_list: a list
    Assumes that nums_list only contains positive numbers and that there are no duplicates.
    Returns how many elements in nums_list are exact squares of
    elements in the same list, including
    """
    # Your code here

ملاحظة المترجم: تنتهي جملة المواصفة في ملف الحل الأصلي عند كلمة including وهي ناقصة؛ يبدو أنّ هذا هو النصّ المنشور على OCW. نُقل بحذافيره ولم يُخمَّن تتمّة له.

أمثلة:

print(count_sqrts([3,4,2,1,9,25])) # prints 3

دالتك هنا:

# your function here

تبقّى لك عدد لا نهائي من مرات التسليم.

هذا هو الحل الذي كتبناه:

def count_sqrts(nums_list):
    cnt = 0
    for i in nums_list:
        if i*i in nums_list:
            cnt += 1
    return cnt

ملاحظة تحريرية: نُسخت الشفرة من ملف PDF الرسمي مع الحفاظ على أسماء المتغيّرات وعلامات الاقتباس والمسافات البادئة.

صفحة المصدر 2: الإسناد

MIT OpenCourseWare — https://ocw.mit.edu

6.100L: مقدمة في علوم الحاسوب والبرمجة باستخدام بايثون.

خريف 2022.

للمعلومات المتعلقة بالاستشهاد بهذه المواد أو بشروط الاستخدام، زُر: https://ocw.mit.edu/terms