700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 舒尔特方格生成 | 注意力训练

舒尔特方格生成 | 注意力训练

时间:2024-05-11 23:58:39

相关推荐

舒尔特方格生成 | 注意力训练

前几天搜索注意力训练方法,看到利用舒尔特方格进行练习的,一套舒尔特数字方格卡片竟然要几十块钱,用python自己生成它不香嘛~

示例1: 9x9数字舒尔特方格

示例2:古诗词舒尔特方格

这样的舒尔特方格用以下代码就可以生成!

#coding: UTF-8import randomimport mathimport numpy as npimport matplotlib.pyplot as pltplt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签def SchulteGrid(N, content=None):# 定义网格内容if content == None:num = list(range(1,N*N+1))random.shuffle(num)num = np.array(num)num.reshape(N,N)else:num = contentrandom.shuffle(num)vlines = list(range(0,N+1))hlines = list(range(0,N+1))# 绘制网格plt.figure(figsize=(N,N))plt.axis('off')plt.vlines(vlines, min(hlines), max(hlines), colors='.25', linewidth=.75)plt.hlines(hlines, min(vlines), max(vlines), colors='.25', linewidth=.75)xs, ys = np.meshgrid(vlines[1:], hlines[:-1])for i, (x,y) in enumerate(zip(xs.flatten(), ys.flatten())):if type(num[i])==str:x = x-0.3elif num[i] < 10:x = x-0.4else:x = x-0.3plt.text(x, y+0.3, str(num[i]), horizontalalignment='right',verticalalignment='bottom', size=18)def SchulteGrid_CH(ctext, title):cctext = []for i in ctext:if i not in [',','。','?','!',':']:cctext.append(i)N = math.sqrt(len(cctext))if int(N)==N:SchulteGrid(int(N), cctext)plt.title(title, size=20)else:print('The give text cannot be transfered into Schulte Grid!')#%% Human–Computer InteractionSchulteGridType = input('Schulte Grid Type you want to generate:')if SchulteGridType =='Chinese':ctext = input('The content is:')title = input('The title is:')SchulteGrid_CH(ctext, title)else:N = input('N:')SchulteGrid(int(N))

生成的图片再保存下来,打印就可以拥有自己的SchulteGrid练习卡片啦~

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。