簡體   English   中英

在Django中顯示多維數組

[英]Displaying multidimensional array in Django

我試圖通過Django在模板中顯示多維數組,但似乎無法遍歷每行/列。 我設法將其打印出來,但是像這樣用括號括起來,因為我只是在打印對象:

在此處輸入圖片說明

但是我需要像這樣出來:

在此處輸入圖片說明

這是我的課:

class VigenereCipher:

    squareAlphabet = []
    letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

    def __init__(self):
        self.squaredAlphabet=[ [ 'A' for x in range(26)] for j in range(26)]
        #print(self.squaredAlphabet)
        for x in range(len(self.letters)):
        #    self.squaredAlphabet[x][x] = self.letters[x]
            # print(self.squaredAlphabet[x][x])
            #print(x)
            j = 0
            for y in range(len(self.letters)):
                #print(x)
                j = y + x
                #print(j)
                if(j > 5):
                    j = j - 26
                #print(j)
            #   print(self.letters[j])
                self.squaredAlphabet[x][y] = self.letters[j]
                #print(self.squaredAlphabet[x][j])
        #print(self.squaredAlphabet)
                # if ((y + x) > 5):
                #     y = y - 5
                # #print(self.letters[y])
                # self.squaredAlphabet[x][y] = self.letters[y]
        for x in range(len(self.squaredAlphabet)):
            for y in range(len(self.squaredAlphabet)):
                print("Position: x", x, "y",  y, "=",  self.squaredAlphabet[x][y])

    def getSquaredAlphabet(self):
        return self.squaredAlphabet

Views.py:

def vigenereHome(request):
    object = VigenereCipher()
    x = object.getSquaredAlphabet()
    return render(request, "VigenereCipher.html", {'x' : x})

模板是:

<!DOCTYPE html>
{% load staticfiles %}
<html>
<head>
  <meta charset=utf-8>
  <link rel="stylesheet" href="{% static "CryptoWeb/css/VigenereCSS.css" %}"/>
  <link rel="stylesheet" href="{% static "CryptoWeb/css/bootstrap.css" %}"/>
  <link href='https://fonts.googleapis.com/css?family=Orbitron' rel='stylesheet' type='text/css'/>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
  <script type="text/javascript" src="{% static "CryptoWeb/js/VigenereJavascript.js" %}"></script>
  <script type="text/javascript" src="{% static "CryptoWeb/js/bootstrap.min.js" %}"></script>
  <title>Vigenere Cipher</title>
</head>
<body>
  <table border="1">
    {% for i in x %}
<tr>
  <td>
  <div <div align='center'><font face='arial' size='1'>

{# {% load VigenereTags %}#}
{# {{i|index:0}}#}
{{i}}
</font>
</div>
</td>
</tr>
{% endfor %}

    </table>

</body>
</html>

編輯:我知道我可以使用{{i.0}}打印出來,依此類推,但是必須有一種方法可以遍歷i而不必逐字寫下。

那是因為每個i是一行,並且需要附加循環。 這是一個小例子: arr = [['a', 'b', 'c'], ['d', 'e', 'f']] ,我想分別打印每個元素abcdef

for x in arr:
    for y in x:
        print y

暫無
暫無

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

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