altervisi0n

Untitled

Sep 28th, 2025
22
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.05 KB | None | 0 0
  1.  
  2. # 2.py: Обработка разных типов данных
  3. from collections import Counter
  4.  
  5.  
  6. def process_data(data):
  7.  
  8. if isinstance(data, tuple):
  9. print(f"Передан кортеж. Количество элементов: {len(data)}")
  10.  
  11. elif isinstance(data, list):
  12. total_sum = 0
  13. for item in data:
  14. if item == 0:
  15. break
  16. total_sum += item
  17. print(f"Передан список. Сумма до первого нуля: {total_sum}")
  18.  
  19. elif isinstance(data, int):
  20. reversed_num = str(data)[::-1]
  21. print(f"Передано число. В обратном порядке: {reversed_num}")
  22.  
  23. elif isinstance(data, str):
  24. words = data.split()
  25. word_count = len(words)
  26.  
  27.  
  28. if data:
  29. most_common_char = Counter(data).most_common(1)[0]
  30. print(f"Передана строка. Количество слов: {word_count}.")
  31. print(f" Самый частый символ: '{most_common_char[0]}' (встречается {most_common_char[1]} раз(а))")
  32. else:
  33. print("Передана пустая строка. Количество слов: 0.")
  34.  
  35. else:
  36. print(f"Передан неподдерживаемый тип данных: {type(data)}")
  37.  
  38.  
  39. print("--- Тестирование функции ---")
  40. process_data((1, 'a', 3.5, 4))
  41. process_data([2, 5, 8, 0, 9, 10])
  42. process_data(12345)
  43. process_data("Это пример строки для проверки функции")
  44. process_data({"key": "value"})
  45.  
  46. # 3.py: Максимальный элемент в матрице
  47. def find_max_element_indices(matrix):
  48.  
  49. if not matrix or not matrix[0]:
  50. return None, None
  51.  
  52. max_element = matrix[0][0]
  53. max_row = 0
  54. max_col = 0
  55.  
  56. for i in range(len(matrix)):
  57. for j in range(len(matrix[i])):
  58. if matrix[i][j] > max_element:
  59. max_element = matrix[i][j]
  60. max_row = i
  61. max_col = j
  62.  
  63. return max_row, max_col
  64.  
  65.  
  66. two_d_array = [
  67. [1, 5, 9, 2],
  68. [3, 8, 15, 6],
  69. [10, 4, 7, 12]
  70. ]
  71.  
  72. row_index, col_index = find_max_element_indices(two_d_array)
  73.  
  74. print(f"Двумерный массив:")
  75. for row in two_d_array:
  76. print(row)
  77.  
  78. print(f"\nМаксимальный элемент находится в строке {row_index} и столбце {col_index}.")
  79.  
  80. # 4.py: Обработка исключений
  81. def divide_numbers(a, b):
  82.  
  83. print(f"\nПопытка разделить {a} на {b}...")
  84. try:
  85. result = a / b
  86. print(f"Результат: {result}")
  87.  
  88. except ZeroDivisionError:
  89. print("Ошибка: Деление на ноль невозможно!")
  90.  
  91. except TypeError:
  92. print("Ошибка: Операция возможна только с числами!")
  93.  
  94. finally:
  95. print("--- Блок finally выполнен ---")
  96.  
  97.  
  98. divide_numbers(10, 2)
  99.  
  100. divide_numbers(10, 0)
  101.  
  102. divide_numbers(10, "текст")
Advertisement
Add Comment
Please, Sign In to add comment