2017-11-17 10 views
-1

私はPythonプログラミングには新しく、学校では1から10までの乗算表をシミュレーションする必要があります。マトリックスになる。(Python 2.7.14の)行ではなく行列でY * Zを作る

私が書いたコードは次のとおりです。

for y in range(1, 11): 
    for z in range(1, 11): 
    print y*z 

しかし、私はこれを実行しようとすると、それはすべて1行下に来ていない行列が...私はawnser用とPython 3.0で見てきましたまたはそれ以上では、 "end ="コマンドがありますが、これを使用することはできませんので、2.7.14でこれを修正する方法が不思議でした。

+0

のような行列の使用Pythonのリスト内包を作成することができ、私はあなたの質問に対する完全な答えを与えるつもりはありません。しかし、私はあなたがリストを調べることをお勧めします、そして、あなたは行列の各行をリストにして、各リストを順番に印刷することができます。 https://www.tutorialspoint.com/python/python_lists.htm – Tim

+0

by matrix 2次元のディスプレイ、またはマトリックスのようなデータ構造を意味しますか? –

+0

質問に答えた場合は、[投票して回答を受け入れる]ことを忘れないでください(https://stackoverflow.com/help/someone-answers)。ありがとう –

答えて

2

あなたは既に重い持ち上げのほとんどを行っているので、必要なものはほんの一歩または二分です。覚えておいてくださいあなたはあなたがバックポートすることができますfrom __future__ import print_functionを使用してのpython3のprint文を、あなたに与えて改行

により、単一の行で行の

  1. プリント要素
  2. 別々の行に必要なことあなたが探している機能

    from __future__ import print_function 
    
    for y in range(1, 11): 
        for z in range(1, 11): 
         print(y * z, end='\t') # 1 
    
        print() # 2 
    
    1 2 3 4 5 6 7 8 9 10 
    2 4 6 8 10 12 14 16 18 20 
    3 6 9 12 15 18 21 24 27 30 
    4 8 12 16 20 24 28 32 36 40 
    5 10 15 20 25 30 35 40 45 50 
    6 12 18 24 30 36 42 48 54 60 
    7 14 21 28 35 42 49 56 63 70 
    8 16 24 32 40 48 56 64 72 80 
    9 18 27 36 45 54 63 72 81 90 
    10 20 30 40 50 60 70 80 90 100 
    

    あなたは将来のインポートを行うことができない場合は、末尾のカンマでprintを使用することができます,プリントアウトされた改行を抑制します。代替案として

    for y in range(1, 11): 
        for z in range(1, 11): 
         print y * z, '\t', 
        print 
    

    、あなたは最終的に最後にすべてをプリントアウトする、リスト内の各数を計算し、保存することができます:

    ここ
    v = [[y * z for z in range(1, 11)] for y in range(1, 11)] 
    for r in v: 
        print('\t'.join(map(str, r))) 
    

    mapはサブの各要素を変換し、文字列にrをリストし、次にstr.joinをすべて連結します。文字列の反復可能性を渡さないとstr.joinがエラーをスローするため、mapのステップが必要であることに注意してください。これは学校の宿題のためにあるよう

0

あなたが見て、この

multiplication_table = [ 
    [y*z for z in range(1, 11)] for y in range(1, 11) 
] 
関連する問題