Advertisement
Lavig

Практична робота №11

Mar 12th, 2023 (edited)
313
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.37 KB | None | 0 0
  1. def skip():
  2.     print ("_" * 60)
  3.     print ("_" * 60)
  4. skip()
  5. # Друге завдання
  6. import random
  7. numbers = []
  8. for i in range(12):
  9.     numbers.append(random.randint(4, 11))
  10. print("Початковий масив:", numbers)
  11. n = len(numbers)
  12. p = n-1
  13. while p > 0:
  14.     m = 0
  15.     for i in range(1, p+1):
  16.         if numbers[i] > numbers[m]:
  17.             m = i
  18.     u = numbers[m]; numbers[m] = numbers[p]; numbers[p] = u
  19.     p = p-1
  20. print("Масив після сортування:", numbers)
  21. skip()
  22. # Третє завдання
  23. while True:
  24.     choice = input("""Виберіть дію, яку потрібно виконати:
  25. 1 – Використати масив з прикладу у файлі
  26. 2 – Ввести масив самостійно
  27. """)
  28.     if choice == "1":
  29.         array = [5, 3, 4, 2, 1, 6, 3, 2]
  30.         break
  31.     elif choice == "2":
  32.         while True:
  33.             array_input= input("Введіть через пробіл парну кількість цілих чисел, які ви бажаєте відсортувати: ")
  34.             array = array_input.split()
  35.             try:
  36.                 array = list(map(float, array))
  37.             except:
  38.                 print("Введений масив складається не тільки з чисел. Спробуйте ввести інший масив!")
  39.                 continue
  40.             if len(array) % 2 != 0:
  41.                 print("Кількість елементів у введеному масиві не є парним числом. Спробуйте ввести інший масив!")
  42.                 continue
  43.             else:
  44.                 for i in range(len(array)):
  45.                     if array[i].is_integer():
  46.                         array[i] = int(array[i])
  47.                 break
  48.         break
  49.     else:
  50.         print("Ви неправильно ввели число. Спробуйте ще раз!")
  51.         continue
  52. middle = len(array) // 2
  53. print("Початковий масив: " + '[\033[95m' + str(array[:middle]).strip('[]') + ', ' + '\033[33m' + str(array[middle:]).strip('[]') + '\033[0m]')
  54. array1 = array[:middle]
  55. array2 = array[middle:]
  56. p = middle-1
  57. while p > 0:
  58.     m = 0
  59.     for i in range(1, p+1):
  60.         if array1[i] > array1[m]:
  61.             m = i
  62.     u = array1[m]; array1[m] = array1[p]; array1[p] = u
  63.     p = p-1
  64. p = middle-1
  65. while p > 0:
  66.     m = 0
  67.     for i in range(1, p+1):
  68.         if array2[i] < array2[m]:
  69.             m = i
  70.     u = array2[m]; array2[m] = array2[p]; array2[p] = u
  71.     p = p-1
  72. print("Масив після сортування: " + '[\033[95m' + str(array1).strip('[]') + ', ' + '\033[33m' + str(array2).strip('[]') + '\033[0m]')
  73. skip()
  74. # Четверте завдання
  75. while True:
  76.     choice = input("""Виберіть дію, яку потрібно виконати:
  77. 1 – Використати масив з прикладу у файлі
  78. 2 – Ввести масив самостійно
  79. """)
  80.     if choice == "1":
  81.         array = [5, 3, 4, 2, 1, 6, 3, 2, 4]
  82.         break
  83.     elif choice == "2":
  84.         while True:
  85.             array_input= input("Введіть через пробіл парну кількість цілих чисел, які ви бажаєте відсортувати: ")
  86.             array = array_input.split()
  87.             try:
  88.                 array = list(map(float, array))
  89.             except:
  90.                 print("Введений масив складається не тільки з чисел. Спробуйте ввести інший масив!")
  91.                 continue
  92.             for i in range(len(array)):
  93.                 if array[i].is_integer():
  94.                     array[i] = int(array[i])
  95.             break
  96.         break
  97.     else:
  98.         print("Ви неправильно ввели число. Спробуйте ще раз!")
  99.         continue
  100. print("Початковий масив: ", array)
  101. p = len(array)-1
  102. while p > 0:
  103.     m = 0
  104.     for i in range(1, p+1):
  105.         if array[i] > array[m]:
  106.             m = i
  107.     u = array[m]; array[m] = array[p]; array[p] = u
  108.     p = p-1
  109. print("Масив після сортування:", array)
  110. unique_array = []
  111. for i in array:
  112.     if i not in unique_array:
  113.         unique_array.append(i)
  114. print("Кількість різних чисел у масиві:",len(unique_array))
  115. skip()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement