Top.Mail.Ru
Ответы

Помогите срочно решить задачу: Сформируйте вложенную последовательность К [8,8] по правилу: Кi.j = -15 + 30 * г

Сформируйте вложенную последовательность К [8,8] по правилу: Кi.j = -15 + 30 * г, где г - случайное число из отрезка [0,1]. Получите и выведите последовательность L [7,7], полученную путем удаления из последовательности К строки и столбца, на пересечении которых находится наибольший по модулю элемент.

По дате
По рейтингу
Аватар пользователя

Здравствуйте!
Вот программа для Вас:

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
 from random import randint 
 
# Создаю и заполняю матрицу K 
K = [] 
for y in range(8): 
    row = [] 
    for x in range(8): 
        row += [-15+30*randint(0,1)] 
    K.append(row) 
 
# Вывожу матрицу K на экран 
print("Матрица K:") 
for y in range(8): 
    for x in range(8): 
        print(K[y][x],end="\t") # Указывая end="\t" я заменяю перевод на новую 
                                # строку выводом отступа 
    print() 
 
# Копирую матрицу K в матрицу L 
L = [] 
for y in range(8): 
    L.append([]) 
    for x in range(8): 
        L[y].append(K[y][x]) 
 
# Ищу максимальное по модулю число 
maximum = L[0][0] 
for y in range(8): 
    for x in range(8): 
        if abs(L[y][x])>maximum: 
            maximum = abs(L[y][x]) 
 
# Ищу координаты максимального по модулю числа 
f_max_finded = False # Тут я храню признак, что я нашёл максимальное по модулю число 
for y in range(8): 
    for x in range(8): 
        if abs(L[y][x]) == maximum: 
            max_y = y 
            max_x = x 
            f_max_finded = True 
            break 
    if f_max_finded: 
        break 
     
# Удаляю ряд с максимальным по модулю числом 
del L[max_y] 
# Удаляю колонку с максимальным по модулю числом 
for y in range(7): 
    del L[y][max_x] 
 
# Вывожу матрицу L на экран 
print("Матрица L:") 
for y in range(7): 
    for x in range(7): 
        print(L[y][x],end="\t") 
    print() 
 


Видео по теме