[英]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.