最后
Python崛起并且风靡,因为优点多、应用领域广、被大牛们认可。学习 Python 门槛很低,但它的晋级路线很多,通过它你能进入机器学习、数据挖掘、大数据,CS等更加高级的领域。Python可以做网络应用,可以做科学计算,数据分析,可以做网络爬虫,可以做机器学习、自然语言处理、可以写游戏、可以做桌面应用…Python可以做的很多,你需要学好基础,再选择明确的方向。这里给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
👉Python所有方向的学习路线👈
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
👉Python必备开发工具👈
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
👉Python全套学习视频👈
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
👉实战案例👈
学python就与学数学一样,是不能只看书不做题的,直接看步骤和答案会让人误以为自己全都掌握了,但是碰到生题的时候还是会一筹莫展。
因此在学习python的过程中一定要记得多动手写代码,教程只需要看一两遍即可。
👉大厂面试真题👈
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.pyplot import savefig
import qrcode
def qr_matrix(data):
qr = qrcode.QRCode(version=1, box_size=1, border=1)
qr.add_data(data)
return np.asarray(qr.get_matrix(), dtype = int)
def _rle(matrix):
find run start and ends
d = np.diff(matrix)
row, start_pos = np.where(d > 0)
_, end_pos = np.where(d < 0)
find run lengths
run_lengths = end_pos - start_pos
split runs from different rows into separate arrays
split_on = np.cumsum(np.bincount(row - 1))[:-1]
return np.split(run_lengths, split_on)
def run_length_encode(matrix):
rle_row = _rle(matrix)
rle_col = _rle(matrix.T)
return rle_row, rle_col
def nonogram_qr(data):
qr = qr_matrix(data)
row_rle, col_rle = run_length_encode(qr)
shape = np.array(qr.shape) - 2
return shape, row_rle, col_rle
def draw_nonogram(shape, row_rle, col_rle):
r, c = shape
f = open(‘qr.griddler’, “w”)
f.write(‘MK Version 3.0’)
f.write(’
')
f.write(’
')
f.write(str®+’ '+str©)
f.write(’
')
f.write(’
')
q=np.zeros((r,c),dtype=int)
for qq in q:
f.write(str(qq)[1:-1].replace(“0”, “?”))
f.write(’
')
f.write(’
')
for col in col_rle:
f.writelines(str(col[::-1])[1:-1])
f.write(’
')
f.write(’
')
for row in row_rle:
f.writelines(str(row[::-1])[1:-1])
f.write(’
')
fig, ax = plt.subplots(figsize=(10, 10))
plt.axis(‘off’)
plt.axis(‘equal’)
draw the grid for the nonogram:
for i in range(r + 1):
ax.plot([0, c], [-i, -i], ‘k-’)
for j in range(c + 1):
ax.plot([j, j], [0, -r], ‘k-’)
draw the numbers onto the grid
for i, row in enumerate(row_rle):
for idx, val in enumerate(row[::-1]):
ax.annotate(xy=(-idx - 0.5, -i - 0.5), s=val, ha=‘center’, va=‘center’)
for j, col in enumerate(col_rle):
for idx, val in enumerate(col[::-1]):
ax.annotate(xy=(j + 0.5, idx + 0.5), s=val, ha=‘center’, va=‘center’)
adjust x and y limits
lim_left = max([len(x) for x in row_rle + col_rle]) + 1
lim_right = max(r, c) + 1
ax.set_xlim(-lim_left, lim_right)
ax.set_ylim(-lim_right, lim_left)
return ax
name=input(‘请输入二维码内容(比如我爱你?):’)
ax = draw_nonogram(*nonogram_qr(name))
print(‘制作完成,图片名字叫做:打印吧.jpg’)
savefig(“打印吧.jpg”)
plt.show()
当然不想这么麻烦的话,我这里把程序也打包好了,各位直接运行exe 程序即可。
下面说说这个打包程序。
如下,下载解压,运行(注意可能打开速度挺慢,耐心等待黑框出现),输入二维码文字。
▼
然后回车,等待,就能在软件目录看到打印吧.jpg。
这个图片你要准备的一毛钱礼物
,如下所示:
▼
而细心的你肯定还看到另一个箭头的文件:qr.griddler,嗯,这个也很有意思,我们接着说。
「数织解密软件」
其实吧,这个生成的21*21或者以上大小的数织难度还是挺高的,不能让女友做不出来啊,你得在身边提示一下啊,那么这款解密软件派上用场。
我们下载解压打开,如下打开我们前文生成的qr.griddler。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!