Programming Basics SQL HTML CSS JavaScript Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals 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)
# 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