Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

تحديات برمجيةالتحدي السادس - حل التمرين الأول بلغة بايثون

المطلوب

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


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

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

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

    second_biggest = 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) - 1, 0, -1):
        if arr[i] != arr[len(arr) - 1]:
            second_biggest = arr[i]
            break

    if second_biggest == arr[0]:
        print("There isn't a second biggest number")
        return
    
    print("Second biggest number is:", second_biggest)


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

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

Second biggest number is: 8