Commits

Serj Zavadsky committed 9f76311

l10n

Comments (0)

Files changed (3)

     in_str = True
     matrix = []
     while in_str:
-        in_str = raw_input('Enter arguments of equation: ')
+        in_str = raw_input(u'Введите аргументы уравнения через пробел, пустая строка для окончания: ')
         if in_str:
             matrix.append(map(Decimal, in_str.split()))
     return matrix
     [Decimal('0.833333333333333333333333333'), Decimal('0.166666666666666666666666667'), Decimal('-0.1666666666666666666666666667')]
     """
     m = deepcopy(matrix)
+
+    # матрица:
+    # * * *
+    # * * *
+    # * * *
+
     # prepare line 2:
     k1 = - (m[1][0] / m[2][0])
-    m = add_line(m, 1, 2, k1)
+    m = add_line(m, 1, 2, k1)  # обнуляем элемент 0 в строке 1, прибавляя строку 2 с коэффициентом
+
+    # матрица:
+    # * * *
+    # 0 * *
+    # * * *
 
     k0 = - (m[2][0] / m[0][0])
-    m = add_line(m, 2, 0, k0)
+    m = add_line(m, 2, 0, k0)  # обнуляем элемент 0 строки 2, прибавляя строку 0 с коэффициентом
+
+    # матрица:
+    # * * *
+    # 0 * *
+    # 0 * *
 
     k2 = - (m[2][1] / m[1][1])
-    m = add_line(m, 2, 1, k2)
+    m = add_line(m, 2, 1, k2)  # обнуляем элемент 1 строки 2, прибавляя строку 1 с коэффициентом
+
+    # матрица:
+    # * * *
+    # 0 * *
+    # 0 0 *
 
+    # обратный ход
     x2 = m[2][3] / m[2][2]
     x1 = (m[1][3] - m[1][2] * x2) / m[1][1]
     x0 = (m[0][3] - m[0][1] * x1 - m[0][2] * x2) / m[0][0]
 
 def replace_column(m, column_number):
     """
-    Replaces column column_number with the last column
+    Заменяет элементы столбца с индексом column_number на элементы последнего столбца
     """
     out_matrix = deepcopy(m)
     for line in out_matrix:
 
 def determinant(m):
     """
-    Returns Determinant of 2 or 3-dimentional matrix
+    Вычисляет Определитель для 2 или 3-мерной матрицы
 
     >>> determinant([[2, 4], [3, 3]])
     -6
     """
     _determinant = determinant(_matrix)
     if _determinant == 0:
-        raise Exception('No or infinity solutions')
+        raise Exception(u'Система не имеет ни одного или имеет бесконечное множество решений')
     print('D = %f' % _determinant)
     return [determinant(replace_column(_matrix, l)) / _determinant for l in range(len(_matrix))]