Advertisement
Gamerkin

12 работа

Jan 22nd, 2023 (edited)
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.70 KB | None | 0 0
  1. import random
  2.  
  3. while True:
  4.     try:
  5.         n = int(input("Введите ранг матрицы: "))
  6.     except ValueError:
  7.         print("Попробуйте снова.")
  8.     if n >= 2 and n <= 5:
  9.         break
  10.     if n < 2 or n > 5:
  11.         print("Ранг матрицы должен быть от 2 до 5!")
  12.  
  13. m = n
  14. s = 0
  15. a = []
  16. b = []
  17. b2 = []
  18. c = []
  19. buff = 0
  20. buff2 = 0
  21.  
  22. for i in range(n):  # создаём матрицу
  23.     a.append([0] * m)
  24.  
  25. while True:
  26.     try:
  27.         r = str(input("Заполнить матрицу случайными значениями? Да или нет? "))
  28.     except ValueError:
  29.         print("Попробуйте снова.")
  30.     if r == "да" or r == "нет":
  31.         break
  32.  
  33.  
  34.     # если нет:
  35. if r == "нет":
  36.     for i in range(n):
  37.         for j in range(m):
  38.             while True: # заполняем матрицу
  39.                 try:
  40.                     a[i][j] = int(input("Введите значение матрицы: "))
  41.                 except ValueError:
  42.                     print("Попробуйте снова.")
  43.                 if a[i][j] >= 1 and a[i][j] <= 100:
  44.                     break
  45.                 if a[i][j] < 1 or a[i][j] > 100:
  46.                     print("Допустимы только целые числа от 1 до 100!")
  47.  
  48.     for i in range(len(a)):  # len(A) - возвращает количество строк в матрице А
  49.         for j in range(len(a[i])):  # len(A[i]) - возвращает количество элементов в строке i
  50.             print(a[i][j], end=' ')
  51.         print()  # делаем переход на новую строку
  52.  
  53.     for i in range(0, n):
  54.         buff = 0  # обнуляем значение
  55.         for j in range(0, m):
  56.             buff += a[i][j]  # считаем сумму строк матрицы
  57.         b.append(buff)
  58.  
  59.     for i in range(0, n):
  60.         buff2 = 0  # обнуляем значение
  61.         for j in range(0, m):
  62.             buff2 += a[j][i]  # считаем сумму столбцов матрицы
  63.         b2.append(buff2)
  64.  
  65.     b2.sort()  # Сортируем по возрастанию
  66.     b.sort(reverse=True)  # Сортируем по убыванию
  67.  
  68.     c = b + b2  # Массив с суммой строк и столбцов
  69.     print(c)  # Ответ
  70.  
  71.  
  72.     # если да
  73. elif r == "да":
  74.     for i in range(0, n):
  75.         for j in range(0, m):
  76.             a[i][j] = random.randint(1, 100)  # заполняем матрицу рандомными числами от 1 до 100
  77.  
  78.     for i in range(len(a)):  # len(A) - возвращает количество строк в матрице А
  79.         for j in range(len(a[i])):  # len(A[i]) - возвращает количество элементов в строке i
  80.             print(a[i][j], end=' ')
  81.         print()  # делаем переход на новую строку
  82.  
  83.     for i in range(0, n):
  84.         buff = 0  # обнуляем значение
  85.         for j in range(0, m):
  86.             buff += a[i][j]  # считаем сумму строк матрицы
  87.         b.append(buff)
  88.  
  89.     for i in range(0, n):
  90.         buff2 = 0  # обнуляем значение
  91.         for j in range(0, m):
  92.             buff2 += a[j][i]  # считаем сумму столбцов матрицы
  93.         b2.append(buff2)
  94.  
  95.     b2.sort()  # Сортируем по возрастанию
  96.     b.sort(reverse=True)  # Сортируем по убыванию
  97.  
  98.     c = b + b2  # Массив с суммой строк и столбцов
  99.     print(c)  # Ответ
  100.  
  101. # def example():
  102. #
  103. #     # Бесконечный цикл, который продолжает выполняться
  104. #     # до возникновения исключения
  105. #     while True:
  106. #         try:
  107. #             test4num = int(input("Сколько часов вы играете на своем мобильном телефоне?: " ))
  108. #
  109. #         # Если полученный ввод не число, будет вызвано исключение
  110. #         except ValueError:
  111. #             # Цикл будет повторяться до правильного ввода
  112. #             print("Error! Это не число, попробуйте снова.")
  113. #
  114. #         # При успешном преобразовании в целое число,
  115. #         # цикл закончится.
  116. #         else:
  117. #             print("! Вы тратите", test4num*60, "минут или", test4num*60*60, "секунд на игры в своем телефоне!")
  118. #             break
  119. #
  120. # # Вызываем функцию
  121. # example()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement