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

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

المطلوب

قم بتعريف دالة إسمها 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