使用特定格式在python中打印Matrix

时间:2018-02-18 06:06:48

标签: python-3.x python-2.7

我想使用python打印如下的矩阵:

enter image description here

任何人都可以帮我写代码吗? 有关python的默认格式,请参阅格式不同。

3 个答案:

答案 0 :(得分:0)

你可以试试这个

x=[str(i) for i in range(1,151)]

t=[x[i:i+15] for i in range(0,136,15)]

for i in range(len(t)):
    for j in range(len(t[i])):
        if(len(t[i][j])==1):
            t[i][j]='   '+t[i][j]
        elif(len(t[i][j])==2):
            t[i][j]='  '+t[i][j]
        elif(len(t[i][j])==3):
            t[i][j]=' '+t[i][j]

for x in t:
    string=''.join(x)
    print(string)

   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15
  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30
  31  32  33  34  35  36  37  38  39  40  41  42  43  44  45
  46  47  48  49  50  51  52  53  54  55  56  57  58  59  60
  61  62  63  64  65  66  67  68  69  70  71  72  73  74  75
  76  77  78  79  80  81  82  83  84  85  86  87  88  89  90
  91  92  93  94  95  96  97  98  99 100 101 102 103 104 105
 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150

答案 1 :(得分:0)

以下代码只需要一个for循环:

for i in range(10):
    print(''.join(map(lambda x:' '*(5-len(str(x)))+str(x),range(i*15+1,(i+1)*15+1))))

打印出来:

    1    2    3    4    5    6    7    8    9   10   11   12   13   14   15
   16   17   18   19   20   21   22   23   24   25   26   27   28   29   30
   31   32   33   34   35   36   37   38   39   40   41   42   43   44   45
   46   47   48   49   50   51   52   53   54   55   56   57   58   59   60
   61   62   63   64   65   66   67   68   69   70   71   72   73   74   75
   76   77   78   79   80   81   82   83   84   85   86   87   88   89   90
   91   92   93   94   95   96   97   98   99  100  101  102  103  104  105
  106  107  108  109  110  111  112  113  114  115  116  117  118  119  120
  121  122  123  124  125  126  127  128  129  130  131  132  133  134  135
  136  137  138  139  140  141  142  143  144  145  146  147  148  149  150

答案 2 :(得分:0)

感谢所有试图为此答案提供解决方案的人。 我能以某种方式编写自己的代码,

atomnumber=22284

        for j in range(int(atomnumber/10)):

                print('{0:6d} {1:7d} {2:8d} {3:9d} {4:10d} {5:11d} {6:12d} {7:13d} {8:14d} {9:15d}'\
    .format(10*j+1, 10*j+2, 10*j+3, 10*j+4, 10*j+5,10*j+6,\
     10*j+7, 10*j+8, 10*j+9, 10*j+10))

        if (atomnumber%10) !=0 :
            a=(atomnumber%10)
            b=atomnumber
            if (atomnumber%10)==1 :
                print ('{0:6d} '.format((b-a)+1,))
            if (atomnumber%10)==2 :
                print ('{0:6d} {1:7d} '.format((b-a)+1,(b-a)+2,))
            if (atomnumber%10)==3 :
                print ('{0:6d} {1:7d} {2:8d} '.format((b-a)+1,(b-a)+2,(b-a)+3,))
            if (atomnumber%10)==4 :
                print ('{0:6d} {1:7d} {2:8d} {3:9d} \
                '.format((b-a)+1,(b-a)+2,(b-a)+3,(b-a)+4,))
            if (atomnumber%10)==5 :
                print ('{0:6d} {1:7d} {2:8d} {3:9d} {4:10d} \
                '.format((b-a)+1,(b-a)+2,(b-a)+3,(b-a)+4,(b-a)+5,))
            if (atomnumber%10)==6 :
                print ('{0:6d} {1:7d} {2:8d} {3:9d} {4:10d} {5:11d}\
                '.format((b-a)+1,(b-a)+2,(b-a)+3,(b-a)+4,(b-a)+5,(b-a)+6,))
            if (atomnumber%10)==7 :
                print ('{0:6d} {1:7d} {2:8d} {3:9d} {4:10d} {5:11d} {6:12d} \
                '.format((b-a)+1,(b-a)+2,(b-a)+3,(b-a)+4,(b-a)+5,(b-a)+6,(b-a)+7,))
            if (atomnumber%10)==8 :
                print ('{0:6d} {1:7d} {2:8d} {3:9d} {4:10d} {5:11d} {6:12d} {7:13d} \
                '.format((b-a)+1,(b-a)+2,(b-a)+3,(b-a)+4,(b-a)+5,(b-a)+6,(b-a)+7,(b-a)+8,))
            if (atomnumber%10)==9 :
                print ('{0:6d} {1:7d} {2:8d} {3:9d} {4:10d} {5:11d} {6:12d} {7:13d} {8:14d} \
                '.format((b-a)+1,(b-a)+2,(b-a)+3,(b-a)+4,(b-a)+5,(b-a)+6,(b-a)+7,(b-a)+8,(b-a)+9,))