الخوارزميات و هياكل البيانات التحدي السادس - حل التمرين الثاني بلغة بايثون

المطلوب

قم بتعريف دالة إسمها PrintSecondLowest, عند استدعاءها نمرر لها مصفوفة أحادية (ذات بعد واحد) فتقوم بطباعة ثاني أصغر عدد موجود فيها.
بعدها قم بإنشاء مصفوفة في البرنامج و تجربة استدعاء الدالة لمعرفة ثاني أصغر عدد موجود في المصفوفة.


الحل بلغة بايثون

# print_second_lowest() هنا قمنا بتعريف الدالة
def print_second_lowest(arr):

    if len(arr) == 0:
        print("Invalid params")
        return

    second_lowest = arr[0]

    for i in range(len(arr) - 1):
        for j in range(i, len(arr)):
            if arr[i] > arr[j]:
                temp = arr[j]
                arr[j] = arr[i]
                arr[i] = temp

    for i in range(len(arr)):
        if arr[i] != arr[0]:
            second_lowest = arr[i]
            break
    
	if second_lowest == arr[0]:
		print("There isn't a second lowest number")
		return
	
    print("Second lowest number is:", second_lowest)


# print_second_lowest() هنا قمنا بإنشاء مصفوفة أرقام أحادية و تجربة الدالة
arr = [5, 9, 3, 6, 4, 2, 7, 1, 8]
print_second_lowest(arr)
		

سنحصل على النتيجة التالية عند التشغيل في حال كانت المصفوفة تحتوي على نفس القيم المجهزة فيها.

Second lowest number is: 2
		

الدورات

أدوات مساعدة

أقسام الموقع

دورات
مقالات كتب مشاريع أسئلة