1
Dear Gentlemen(as),
You could give me a hand. An idea?!
--> I am trying to present (print) the index(the line) of the longest interval between the longest and shortest of the rows of a matrix meet.
For example: Imagine an array with 3 rows and 2 columns. [[5, 6, 7], [8, 9, 11],[12, 13, 20]]
Therefore, the longest interval would be line 3, as 20-12=8.
I’d like the exit to be: Line 3, with a wider range of 8
The code below shows the sequence of lines and the interval value.
I had already managed to show the index of each line, but I would just like the one that has the highest range value.
Please, the problem is in the last "for" of the code. Downstairs.
import random
matriz = [] #cria matriz vazia
m = int(input("Informe a qtd de linhas desejadas na Matriz: "))
n = int(input("Informe a qtd de colunas desejadas na Matriz: "))
a = int(input("Defina o início do intervalo para geração aleatória: "))
b = int(input("Defina o fim do intervalo para geração aleatória: "))
maior = None # Armazena o maior valor
posicao = (0, 0) # Armazena a posição do maior valor
for i in range(1, m+1):
linha = []
for j in range(1, n+1):
x = float(random.uniform(a, b)) #gera números aleatórios dentro do intervalo definido
if maior is None or x > maior:
maior = x
posicao = (i, j)
linha.append(x)
matriz.append(linha)
produto = 1 #armazenará o produto dos maiores
soma = 0 #armazenará a soma dos menores
for linha in matriz:
produto *= max(linha) #produto do maior valor de cada linha
soma += min(linha) #soma do menor valor de cada linha
for index, i in enumerate(matriz):
maior_da_linha = max(i)
menor_da_linha = min(i)
intervalo = maior_da_linha - menor_da_linha
index += 1
print(index, i, intervalo)
@Wilsonjunior, here’s the link with your code and my https://repl.it/repls/MiserlyHardShell
– Samir Braga
I keep my thanks to you!
– Wilson Junior