Proc13. Описать процедуру SortDec3($$A$$, $$B$$, $$C$$), меняющую содержимое переменных $$A$$, $$B$$, $$C$$ таким образом, чтобы их значения оказались упорядоченными по убыванию ($$A$$, $$B$$, $$C$$ — вещественные параметры, являющиеся одновременно входными и выходными). С помощью этой процедуры упорядочить по убыванию два данных набора из трех чисел: ($$A_1$$, $$B_1$$, $$C_1$$) и ($$A_2$$, $$B_2$$, $$C_2$$).
Решение:
В питоне нет как такового понятия процедуры. Есть функции которые могут возвращать None. Также изменять значение переменных, которые передаются функции в виде параметров, идеологически не верно. Я вижу два обходных решения передавать массивы и использовать Глобальные переменные. Это всё плохо!
Решение через массив:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
import math def SortDec3(A,B,C): if A[0]<B[0]: temp = A[0] A[0] = B[0] B[0] = temp if A[0] < C[0]: temp = A[0] A[0] = C[0] C[0] = temp if B[0] < C[0]: temp = B[0] B[0] = C[0] C[0] = temp A1,B1,C1 =[0],[0],[0] print('A1: ') A1[0] = float(input()) print('B1: ') B1[0] = float(input()) print('C1: ') C1[0] = float(input()) SortDec3(A1,B1,C1); print('A1: ',A1[0],'; B1: ',B1[0],'; C1: ',C1[0],';') A2,B2,C2 =[0],[0],[0] print('A2: ') A2[0] = float(input()) print('B2: ') B2[0] = float(input()) print('C2: ') C2[0] = float(input()) SortDec3(A2,B2,C2); print('A2: ',A2[0],'; B2: ',B2[0],'; C2: ',C2[0],';') |
Другие задачи из раздела Proc можно посмотреть здесь.
Комментарии: