本文主要是介绍【教学类-61-01】舒尔特方块01(4*4宫格 16数字随机排列,少2个),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
背景需求:
舒尔特方格~找缺少的数字 - 小红书#数感启蒙https://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个)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!