簡體   English   中英

如何在不使用方法或for循環的情況下創建表?

[英]How to create a table without using methods or for-loops?

我正在嘗試創建沒有方法或for循環的4x3表。 我想使用在課堂上學到的東西,它們是布爾值,if語句和while循環。

我想要它,以便如果我輸入create_table('abcdefghijkl') ,它將從最左邊的行和列開始,向下直到該列的末尾,然后再從下一個列的頂部開始,依此類推,如下所示:

| a | e | i |

| b | f | j |

| c | g | k |

| d | h | l |

以下是到目前為止的內容。 還不完整 我如何添加到函數中,以便在向下4行之后,字符串應從頂部開始繼續到下一列? 我為此而絞盡腦汁。

我可以在網上找到所有用於循環的方法和創建此類表的方法的示例,但我想為此實現一個while循環。

提前致謝!

def create_table(table):
    t =  "" + "|" + ""
    i = 0
    while i < 12:
        t = t + " " + "|" + table[i] + " "
        i=i+1
        print(t)
    return table

從行而不是列來考慮它。 您一次要寫一行,而不是一次寫一列,因此請查看原始列表中各個單元的索引:

| 0 | 4 | 8 |

| 1 | 5 | 9 |

| 2 | 6 | 10 |

| 3 | 7 | 11 |

注意每行的細胞指數由4不同,查找 n行的細胞的簡便表達和任務將變得更加容易,因為你基本上可以打印出一個常規表。

您可以使用簡單的配方將大多數for循環轉換為while循環,因此,如果您知道如何使用for循環進行操作,那么一切就很好了。 如果你有

for x in s:
    {statements}

做了

i = 0
while i < len(s):
    x = s[i]
    {statements}
    i += 1

它對於某些不支持長度和索引的可枚舉類型(例如生成器)將不起作用。

因為要打印到終端,所以您需要考慮打印每個水平行,而不是每個垂直列。 嘗試類似:

table = 'abcdefghijkl'
i = 0
while i < 4:
    print("| {} | {} | {} |".format(table[i], table[i+4], table[i+8]))
    i += 1

暫無
暫無

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

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