0

メソッドや 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
4

3 に答える 3

4

列ではなく行の観点から考えてください。一度に列ではなく行を書き出すので、元のリストの個々のセルのインデックスを見てください。

| 0 | 4 | 8 |

| 1 | 5 | 9 |

| 2 | 6 | 10 |

| 3 | 7 | 11 |

各行のセルのインデックスが 4 ずつ異なることに注意してください。n番目の行のセルの単純な式を見つけると、基本的に通常のテーブルを出力することになるため、タスクははるかに簡単になります。

于 2013-06-08T04:21:37.943 に答える
0

端末に出力するので、縦の各列ではなく、横の行をそれぞれ印刷することを考えてください。次のようなものを試してください:

table = 'abcdefghijkl'
i = 0
while i < 4:
    print("| {} | {} | {} |".format(table[i], table[i+4], table[i+8]))
    i += 1
于 2013-06-08T04:24:01.983 に答える