【教学类-61-01】舒尔特方块01(4*4宫格 16数字随机排列,少2个)

2024-06-02 06:44

本文主要是介绍【教学类-61-01】舒尔特方块01(4*4宫格 16数字随机排列,少2个),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

背景需求:

舒尔特方格~找缺少的数字 - 小红书#数感启蒙icon-default.png?t=N7T8https://www.xiaohongshu.com/explore/661fdb76000000000401a48b?app_platform=android&ignoreEngage=true&app_version=8.38.0&share_from_user_hidden=true&type=normal&author_share=1&xhsshare=WeixinSession&shareRedId=ODszMTs4Nk82NzUyOTgwNjg3OTlHS0xC&apptime=1717219896&share_id=1de6b7bf23ae4f88890ccd26d1d39f81

代码展示

'''
目的:【教学类-61-01】舒尔特方块01(4*4宫格 16数字随机排列,少2个)
作者:AI对话大师,阿夏
时间:2024年6月1日
'''from PIL import Image, ImageDraw, ImageFont
import random# 设置路径和文件名
path = r'C:\Users\jg2yXRZ\OneDrive\桌面\舒尔特数字'for xx in range(10):# 创建画布canvas_size = (800, 800)canvas_color = (255, 255, 255)  # 白色背景canvas = Image.new('RGB', canvas_size, canvas_color)# 创建画笔draw = ImageDraw.Draw(canvas)# 定义边距大小padding = 50# 生成1-16的数字列表numbers = list(range(1, 17))# 打乱数字列表的顺序random.shuffle(numbers)# 从数字列表中随机选择两个数字并更改为空empty_indices = random.sample(range(len(numbers)), 2)for index in empty_indices:numbers[index] = ''# 计算单元格大小cell_size = (canvas_size[0] - padding * 2) // 4  # 单元格大小# 定义边框颜色border_color = (0, 0, 0)  # 黑色边框颜色# 定义字体和文字颜色font = ImageFont.truetype(r'C:\Windows\Fonts\simhei.ttf', 80)  # 设置字体和字号text_color = (0, 0, 0)  # 文字颜色# 绘制黑色边框和填充数字for i in range(4):  # 行索引for j in range(4):  # 列索引# 计算单元格的左上角和右下角坐标left = padding + j * cell_sizeupper = padding + i * cell_sizeright = padding + (j + 1) * cell_sizelower = padding + (i + 1) * cell_size# 绘制黑色边框draw.rectangle([(left, upper), (right, lower)], outline=border_color)# 填充数字text = str(numbers[i * 4 + j])text_width, text_height = draw.textsize(text, font=font)text_position = ((left + right - text_width) // 2, (upper + lower - text_height) // 2)draw.text(text_position, text, font=font, fill=text_color)# 保存图片canvas.save(path+fr'\{xx:02d}.png')

这篇关于【教学类-61-01】舒尔特方块01(4*4宫格 16数字随机排列,少2个)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1023233

相关文章

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

使用PyTorch实现手写数字识别功能

《使用PyTorch实现手写数字识别功能》在人工智能的世界里,计算机视觉是最具魅力的领域之一,通过PyTorch这一强大的深度学习框架,我们将在经典的MNIST数据集上,见证一个神经网络从零开始学会识... 目录当计算机学会“看”数字搭建开发环境MNIST数据集解析1. 认识手写数字数据库2. 数据预处理的

java字符串数字补齐位数详解

《java字符串数字补齐位数详解》:本文主要介绍java字符串数字补齐位数,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java字符串数字补齐位数一、使用String.format()方法二、Apache Commons Lang库方法三、Java 11+的St

Java数字转换工具类NumberUtil的使用

《Java数字转换工具类NumberUtil的使用》NumberUtil是一个功能强大的Java工具类,用于处理数字的各种操作,包括数值运算、格式化、随机数生成和数值判断,下面就来介绍一下Number... 目录一、NumberUtil类概述二、主要功能介绍1. 数值运算2. 格式化3. 数值判断4. 随机

Python中的随机森林算法与实战

《Python中的随机森林算法与实战》本文详细介绍了随机森林算法,包括其原理、实现步骤、分类和回归案例,并讨论了其优点和缺点,通过面向对象编程实现了一个简单的随机森林模型,并应用于鸢尾花分类和波士顿房... 目录1、随机森林算法概述2、随机森林的原理3、实现步骤4、分类案例:使用随机森林预测鸢尾花品种4.1

使用C#如何创建人名或其他物体随机分组

《使用C#如何创建人名或其他物体随机分组》文章描述了一个随机分配人员到多个团队的代码示例,包括将人员列表随机化并根据组数分配到不同组,最后按组号排序显示结果... 目录C#创建人名或其他物体随机分组此示例使用以下代码将人员分配到组代码首先将lstPeople ListBox总结C#创建人名或其他物体随机分组

从去中心化到智能化:Web3如何与AI共同塑造数字生态

在数字时代的演进中,Web3和人工智能(AI)正成为塑造未来互联网的两大核心力量。Web3的去中心化理念与AI的智能化技术,正相互交织,共同推动数字生态的变革。本文将探讨Web3与AI的融合如何改变数字世界,并展望这一新兴组合如何重塑我们的在线体验。 Web3的去中心化愿景 Web3代表了互联网的第三代发展,它基于去中心化的区块链技术,旨在创建一个开放、透明且用户主导的数字生态。不同于传统

usaco 1.2 Name That Number(数字字母转化)

巧妙的利用code[b[0]-'A'] 将字符ABC...Z转换为数字 需要注意的是重新开一个数组 c [ ] 存储字符串 应人为的在末尾附上 ‘ \ 0 ’ 详见代码: /*ID: who jayLANG: C++TASK: namenum*/#include<stdio.h>#include<string.h>int main(){FILE *fin = fopen (

hdu 2602 and poj 3624(01背包)

01背包的模板题。 hdu2602代码: #include<stdio.h>#include<string.h>const int MaxN = 1001;int max(int a, int b){return a > b ? a : b;}int w[MaxN];int v[MaxN];int dp[MaxN];int main(){int T;int N, V;s

集中式版本控制与分布式版本控制——Git 学习笔记01

什么是版本控制 如果你用 Microsoft Word 写过东西,那你八成会有这样的经历: 想删除一段文字,又怕将来这段文字有用,怎么办呢?有一个办法,先把当前文件“另存为”一个文件,然后继续改,改到某个程度,再“另存为”一个文件。就这样改着、存着……最后你的 Word 文档变成了这样: 过了几天,你想找回被删除的文字,但是已经记不清保存在哪个文件了,只能挨个去找。真麻烦,眼睛都花了。看