Python打印16进制乘法表

看到美剧《硅谷》里的大佬说他十五岁就把16进制的乘法表背得滚瓜烂熟了,作为码农的自己突然心里一颤,流下冷汗。心血来潮,用Python把16进制乘法表打印出来了,有空的时候也能多背背,巩固基础。废话不多说,直接上代码。

import numpy as np
data = np.zeros((15, 15))
data
array([[0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]])
for i in np.arange(1, 16):
    for j in np.arange(1, 16):
        data[i-1][j-1] = i * j
data
array([[  1.,   2.,   3.,   4.,   5.,   6.,   7.,   8.,   9.,  10.,  11.,
         12.,  13.,  14.,  15.],
       [  2.,   4.,   6.,   8.,  10.,  12.,  14.,  16.,  18.,  20.,  22.,
         24.,  26.,  28.,  30.],
       [  3.,   6.,   9.,  12.,  15.,  18.,  21.,  24.,  27.,  30.,  33.,
         36.,  39.,  42.,  45.],
       [  4.,   8.,  12.,  16.,  20.,  24.,  28.,  32.,  36.,  40.,  44.,
         48.,  52.,  56.,  60.],
       [  5.,  10.,  15.,  20.,  25.,  30.,  35.,  40.,  45.,  50.,  55.,
         60.,  65.,  70.,  75.],
       [  6.,  12.,  18.,  24.,  30.,  36.,  42.,  48.,  54.,  60.,  66.,
         72.,  78.,  84.,  90.],
       [  7.,  14.,  21.,  28.,  35.,  42.,  49.,  56.,  63.,  70.,  77.,
         84.,  91.,  98., 105.],
       [  8.,  16.,  24.,  32.,  40.,  48.,  56.,  64.,  72.,  80.,  88.,
         96., 104., 112., 120.],
       [  9.,  18.,  27.,  36.,  45.,  54.,  63.,  72.,  81.,  90.,  99.,
        108., 117., 126., 135.],
       [ 10.,  20.,  30.,  40.,  50.,  60.,  70.,  80.,  90., 100., 110.,
        120., 130., 140., 150.],
       [ 11.,  22.,  33.,  44.,  55.,  66.,  77.,  88.,  99., 110., 121.,
        132., 143., 154., 165.],
       [ 12.,  24.,  36.,  48.,  60.,  72.,  84.,  96., 108., 120., 132.,
        144., 156., 168., 180.],
       [ 13.,  26.,  39.,  52.,  65.,  78.,  91., 104., 117., 130., 143.,
        156., 169., 182., 195.],
       [ 14.,  28.,  42.,  56.,  70.,  84.,  98., 112., 126., 140., 154.,
        168., 182., 196., 210.],
       [ 15.,  30.,  45.,  60.,  75.,  90., 105., 120., 135., 150., 165.,
        180., 195., 210., 225.]])
d = {}
for i in np.arange(1, 16):
    d[hex(i)[2:].upper()] = [hex(int(t))[2:].upper() for t in data[i-1]]

import pandas as pd
df = pd.DataFrame(d, columns=d['1'])
df

16进制乘法表


以上就是本文的全部内容,如果您喜欢这篇文章,欢迎将它分享给朋友们。

全文系作者原创,仅供学习参考使用,转载授权请私信联系,否则将视为侵权行为。码字不易,感谢支持。

感谢您的阅读,祝您生活愉快!

作者:小美哥
2018-07-22

猜你喜欢

转载自blog.csdn.net/MiMicoa/article/details/81152789