簡體   English   中英

在 python 中請求對稱矩陣

[英]request symmetrical matrix in python

我正在編寫一些代碼來按要求創建對稱矩陣,但我遇到了問題。

這是我的代碼。 *** 是代碼,也許我有錯,不知道如何修復。 我嘗試了很多變化。 我通過鍵盤輸入請求的數字不是 5、9、12、14、15; 我輸入:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15

但是創建的矩陣是這樣的:

cant_nodos = 6 在這種情況下。 (是輸入)

在此處輸入圖像描述

Python 請求我上對角線區域的所有單元格並自動填充下邊。

    while(cont < cant_nodos):
        contador = str(cont+1)
        nodo = str(input("Ingrese nodo " +contador+ ": "))
        if nodo not in lista_nodos:
            lista_nodos.append(nodo)
            pagina.cell(row = 1, column = cont+2, value = nodo)
            pagina.cell(row = cont+2, column = 1, value = nodo)
            cont = cont+1
        else:
            print("ERROR: Nodo existente, escoja otro: ")
            
    for fila in range(len(lista_nodos)):
        for columna in range(len(lista_nodos)):
            if fila == columna:
                valor = 0
            elif columna > fila:
                valor = int(input("Ingrese valor de nodo " +lista_nodos[fila]+ " con el nodo " +lista_nodos[columna]+ ": "))
                
            while(valor < 0):
                print("ERROR: Valor negativo. Ingrese un valor positivo")
                valor = int(input("Ingrese valor de nodo " +lista_nodos[fila]+ " con el nodo " +lista_nodos[columna]+ ": "))
        
          ***  pagina.cell(row = fila+2, column = columna+2, value = valor)
            pagina.cell(row = columna+2, column = fila+2, value = valor) ***

我需要創建一個對稱矩陣。 我正在為 excel 使用 openpyxl。

謝謝您的幫助..

我解決了。 如果有人有同樣的問題,這是解決方案:

 while(cont < cant_nodos):
    contador = str(cont+1)
    nodo = str(input("Ingrese nodo " +contador+ ":"))
    if nodo not in lista_nodos:
        lista_nodos.append(nodo)
        pagina.cell(row = 1, column = cont+2, value = nodo)
        pagina.cell(row = cont+2, column = 1, value = nodo)
        cont = cont+1
    else:
        print("ERROR: Nodo existente, escoja otro: ")
        

for fila in range(len(lista_nodos)):
    for columna in range(len(lista_nodos)):
        
        if fila == columna:
            valor = 0
       ***     
            pagina.cell(row = fila+2, column = columna +2, value = valor) ***
            
        elif columna > fila:
            valor = int(input("Ingrese valor de nodo " +lista_nodos[fila]+" con el nodo " +lista_nodos[columna]+ ":")) 
         ***   
            pagina.cell(row = fila+2, column = columna+2, value = valor)
            pagina.cell(row = columna+2, column = fila+2, value = valor) ***
                  
        while(valor < 0):
            print("ERROR: Valor negativo. Ingrese un valor positivo")
            valor = int(input("Ingrese valor de nodo " +lista_nodos[fila]+" con el nodo " +lista_nodos[columna]+ ":"))
        
        
        
libro.save("matriz_adyacente.xlsx")

return crear_menu()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM