当前位置: 首页 > news >正文

【教学类-43-11】 20231231 3*3宫格数独提取单元格坐标数字的通用模板(做成2*2=4套、3*2=6套)

 

背景需求:

1、以前做单元格填充,都是制作N个分开的单元格

(表格=8)

74f42848291e43a3a8259171792f8e55.png

2、这次做五宫格数独的Word模板,我图方便,就只用了一个大表格,第六行第六列隐藏框线,看上去就是分开的,实际还是一个表格(0)

94c22218bf8b442cb052184b87d0310a.png

我要提取中间4套5*5的坐标,就需要写四次XY

0cfd6d94088544ee88301e0e08a78be5.png

如果是6*3、9*9,这样的写法就太长了,要写6份,9份

所以,我需要设计一个简略的遍历代码,实现所有填充单元格坐标的提取

 

设计过程:

工具:AI对话大师

第1问

2449b9bbf4d949b1b7d5969e18599e2c.png

第2问

bf2c30ff11bd4f8ca02b5bad414bf872.png

 

第3问

064d107addfc4f15a68f50835b3a8f2c.png第4问

86142f4cec07495e9a0c6d83ec2f623c.png第5问——终于出现了我需要的结果

e10593dc8a7b40089d1876886f6efea7.png

测试1.1:3*3宫格(原始)

# 测试11*11格,2*2一共4套3*3 宫格grid_size = 7
subgrid_size = 3start_coordinates = [(0, 0), (0, 4), (4, 0), (4, 4)]
cell_coordinates = []for start_coord in start_coordinates:i, j = start_coordsubgrid_coordinates = []for x in range(subgrid_size):for y in range(subgrid_size):subgrid_coordinates.append((i + x, j + y))cell_coordinates.append(subgrid_coordinates)bg=[]# 打印结果
for coordinates in cell_coordinates:# print(coordinates) for c in  coordinates:# print(c)        # 元组 (1, 2) 样式s = ''.join(map(str, c))     # 元组 (1, 2) 转换为字符串 '12'# print(str(s))        #  '12'a1='%02d'%int(s[0])   #  '01'a2='%02d'%int(s[1])   #  '02'bg.append('{}{}'.format(a1,a2))  #  '0102'
print(bg)# 左上 第1套
# ['0000', '0001', '0002', 
# '0100', '0101', '0102', 
# '0200', '0201', '0202', # 右上 第2套
# '0004', '0005', '0006', 
# '0104', '0105', '0106', 
# '0204', '0205', '0206', # 左下 第3套
# '0400', '0401', '0402',
# '0500', '0501', '0502',
# '0600', '0601', '0602',# 右下 第4套
# '0404', '0405', '0406', 
# '0504', '0505', '0506', 
# '0604', '0605', '0606']

运行结果

c5daf163470a43c08542f7298cc44338.png测试2:3*3宫格(改坐标起始参数)

# 测试11*11格,2*2一共4套3*3 宫格
'''
目的:数独09 N宫格X乘Y套单元格计算,如何在一个表格里,找出所有填数字的单元格
以“3宫格”做2*2=4套,“3宫格”做3*2=6套为例
作者:阿夏(参考)
时间:2023年12月31日 13:35
'''
# import zfill# 几宫格
gg = 3
# 底边几套.底边看有2份
db=3
# 侧边几套 侧边看也是2份
cb=2# 棋盘格子数量,# 如果正方形:底边2*侧边2,就是3*3宫格 2*2=4套,底边边格子数量就是3*2+1=7,侧边格子数量就是3*2+1=7,
# 如果长方形:底边3*侧边2,就是3*3宫格,3*2=6套 底边格子数量就是3*3+2=11,侧边格子数量就是3*2+1=7,
# if db==cb:
db_size = gg*db+(db-1)
cb_size=  gg*cb+(cb-1)
print('{}宫格排列底{}侧{}共{}套,底边格子数{}'.format(gg,db,cb,db*cb,db_size ))
print('{}宫格排列底{}侧{}共{}套,侧边格子数{}'.format(gg,db,cb,db*cb,cb_size ))# 确定每个宫格的左上角坐标 00 04 40  44
bgszm=[]
for a in range(0,cb_size,gg+1):    # 0-11每隔4,写一个坐标  侧边yfor b in range(0,db_size,gg+1):  # 0-11每隔4,写一个坐标  侧边xbgszm.append('{}{}'.format('%02d'%a,'%02d'%b))
print(bgszm)
# 3宫格排列底3侧2共6套,底边格子数11
# 3宫格排列底3侧2共6套,侧边格子数7
# ['0000', '0004', '0008', '0400', '0404', '0408']# 转为元祖
start_coordinates = [(int(s[0:2]), int(s[2:4])) for s in bgszm]
cell_coordinates = []# 推算每个起始格子后面的单元格数字
for start_coord in start_coordinates:i, j = start_coordsubgrid_coordinates = []for x in range(gg):for y in range(gg):subgrid_coordinates.append((i + x, j + y))cell_coordinates.append(subgrid_coordinates)# 打印结果(元祖样式)
bg=[]
for coordinates in cell_coordinates:# print(coordinates)     # [(4, 8), (4, 9), (4, 10), (5, 8), (5, 9), (5, 10), (6, 8), (6, 9), (6, 10)]for c in  coordinates:print(c)        # 元组 (1, 2) 样式s = ''.join(str(num).zfill(2) for num in c)   # zfill将元组 (1, 2) 转换为字符串 '0102' 特别是(5,10)这种必须转成2个数字0510print(str(s))        #  '12'bg.append(s)  #  '0102'
print(bg)# # 3*3宫格的2*2=4套题坐标
# # 左上 第1套
# # ['0000', '0001', '0002', 
# # '0100', '0101', '0102', 
# # '0200', '0201', '0202', # # 右上 第2套
# # '0004', '0005', '0006', 
# # '0104', '0105', '0106', 
# # '0204', '0205', '0206', # # 左下 第3套
# # '0400', '0401', '0402',
# # '0500', '0501', '0502',
# # '0600', '0601', '0602',# # 右下 第4套
# # '0404', '0405', '0406', 
# # '0504', '0505', '0506', 
# # '0604', '0605', '0606']# # 3*3宫格的3*2=6套题坐标# # 3宫格排列底3侧2共6套,底边格子数11
# # 3宫格排列底3侧2共6套,侧边格子数7
# # 6套题的首字坐标['0000', '0004', '0008', '0400', '0404', '0408']
# # 6套题的全部坐标# ['0000', '0001', '0002', 
#  '0100', '0101', '0102', 
#  '0200', '0201', '0202', # '0004', '0005', '0006',
# '0104', '0105', '0106', 
# '0204', '0205', '0206', # '0008', '0009', '0010', 
# '0108', '0109', '0110',
# '0208', '0209', '0210',# '0400', '0401', '0402',
# '0500', '0501', '0502', 
# '0600', '0601', '0602', # '0404', '0405', '0406',
# '0504', '0505', '0506', 
# '0604', '0605', '0606', # '0408', '0409', '0410', 
# '0508', '0509', '0510', 
# '0608', '0609', '0610']

 

3宫格两款:

1、  3宫格  4套(2*2)正方形,

 

f91edbe5b90e47fc8614fd2c7cf74a02.png

85848c90db4c4e87bdfb238bb078766e.png

7cb663c8b8d64dc7b606d582983238f7.png

2、3宫格  6套(3*2)长方形

150883d880f741d08772437d9e390857.png

ccb55de845ee40d9bb9d660b852e397d.png

917edbdbf315461586d7eb03fd35b93d.png

感悟:

代码里面的技术难点 都是用Chat GDP AI对话生成的,提高了数据搜索的效率

2aae12d6dec845af8afd2b42c0270a13.png

ea8f98cf498a41f19122b25399f04922.png76eeb65be20843298b168c06263cd96c.pngb772ed33e18d4aab942c0de675a48df2.png

 

相关文章:

【教学类-43-11】 20231231 3*3宫格数独提取单元格坐标数字的通用模板(做成2*2=4套、3*2=6套)

背景需求: 1、以前做单元格填充,都是制作N个分开的单元格 (表格8) 2、这次做五宫格数独的Word模板,我图方便,就只用了一个大表格,第六行第六列隐藏框线,看上去就是分开的&#xff…...

Spring Boot日志:从Logger到@Slf4j的探秘

写在前面 Hello大家好,今日是2024年的第一天,祝大家元旦快乐🎉 2024第一篇文章从SpringBoot日志开始 文章目录 一、前言二、日志有什么用?三、日志怎么用?四、自定义日志打印💬 常见日志框架说明4.1 在程序…...

英飞凌TC3xx之一起认识GTM系列(六)如何实现GTM与VADC关联的配置

英飞凌TC3xx之一起认识GTM系列(六)如何实现GTM与VADC关联的配置 1 GTM与ADC的接口2 GTM与VADC的连接2.1 VADC 到 GTM 的连接2.1.1 简要介绍2.1.2 应用举例2.2 EVADC到 GTM的连接2.2.1 应用举例3 总结本文介绍实现GTM与VADC的连接性的相关寄存器配置。 1 GTM与ADC的接口 由英…...

【基础】【Python网络爬虫】【6.数据持久化】Excel、Json、Csv 数据保存(附大量案例代码)(建议收藏)

Python网络爬虫基础 数据持久化(数据保存)1. Excel创建数据表批量数据写入读取表格数据案例 - 豆瓣保存 Excel案例 - 网易新闻Excel保存 2. Json数据序列化和反序列化中文指定案例 - 豆瓣保存Json案例 - Json保存 3. Csv写入csv列表数据案例 - 豆瓣列表保…...

王道考研计算机网络——应用层

如何为用户提供服务? CS/P2P 提高域名解析的速度:local name server高速缓存:直接地址映射/低级的域名服务器的地址 本机也有告诉缓存:本机开机的时候从本地域名服务器当中下载域名和地址的对应数据库,放到本地的高…...

Android MVVM 写法

前言 Model:负责数据逻辑 View:负责视图逻辑 ViewModel:负责业务逻辑 持有关系: 1、ViewModel 持有 View 2、ViewModel 持有 Model 3、Model 持有 ViewModel 辅助工具:DataBinding 执行流程:View &g…...

LeetCode 热题 100——283. 移动零

283. 移动零 提示 简单 2.3K 相关企业 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums [0,1,0,3,12] 输出: [1,…...

neovim调试xv6-riscv过程中索引不到对应头文件问题

大家好,我叫徐锦桐,个人博客地址为www.xujintong.com,github地址为https://github.com/jintongxu。平时记录一下学习计算机过程中获取的知识,还有日常折腾的经验,欢迎大家访问。 和这篇文章neovim调试linux内核过程中索…...

轻量应用服务器与云服务器CVM对比——腾讯云

腾讯云轻量服务器和云服务器CVM该怎么选?不差钱选云服务器CVM,追求性价比选择轻量应用服务器,轻量真优惠呀,活动 https://curl.qcloud.com/oRMoSucP 轻量应用服务器2核2G3M价格62元一年、2核2G4M价格118元一年,540元三…...

骑砍战团MOD开发(31)-游戏AI控制

一.骑砍单机模式下AI控制 骑砍战团中野外战斗,训练场中小兵和地方小兵的行为统称为场景AI. 骑砍大地图中敌军追踪和遭遇追击统称为大地图AI. 二.骑砍场景AI 骑砍引擎通过header_mission_templates,py定制AI常量控制小兵位置,动作和朝向.可实现自定义阵型和攻击动作。 # Agen…...

flutter学习-day21-使用permission_handler进行系统权限的申请和操作

文章目录 1. 介绍2. 环境准备2-1. Android2-2. iOS 3. 使用 1. 介绍 在大多数操作系统上,权限不是在安装时才授予应用程序的。相反,开发人员必须在应用程序运行时请求用户的许可。在 flutter 开发中,则需要一个跨平台(iOS, Android)的 API 来…...

虹科方案丨L2进阶L3,数据采集如何助力自动驾驶

来源:康谋自动驾驶 虹科方案丨L2进阶L3,数据采集如何助力自动驾驶 原文链接:https://mp.weixin.qq.com/s/qhWy11x_-b5VmBt86r4OdQ 欢迎关注虹科,为您提供最新资讯! 12月14日,宝马集团宣布,搭载…...

Kubernetes 学习总结(42)—— Kubernetes 之 pod 健康检查详解

Kubernetes 入门 回想 2017 年刚开始接触 Kubernetes 时,碰到 Pod一直起不来的情况,就开始抓瞎。后来渐渐地掌握了一些排查方法之后,这种情况才得以缓解。随着时间推移,又碰到了问题。有一天在部署某个 springboot 微服务时&…...

【后端】Docker学习笔记

文章目录 Docker一、Docker安装(Linux)二、Docker概念三、Docker常用命令四、数据卷五、自定义镜像六、网络七、DockerCompose Docker Docker是一个开源平台,主要基于Go语言构建,它使开发者能够将应用程序及其依赖项打包到一个轻…...

UE5.1_Gameplay Debugger启用

UE5.1_Gameplay Debugger启用 重点问题: Gamplay Debugger启用不知道? Apostrophe、Tilde键不知道是哪个? Gameplay调试程序 | 虚幻引擎文档 (unrealengine.com) Gameplay Debugger...

【论文阅读+复现】SparseCtrl: Adding Sparse Controls to Text-to-Video Diffusion Models

SparseCtrl:在文本到视频扩散模型中添加稀疏控制。 (AnimateDiff V3,官方版AnimateDiffControlNet,效果很丝滑) code:GitHub - guoyww/AnimateDiff: Official implementation of AnimateDiff. paper:htt…...

速盾cdn:ddos防护手段

速盾CDN采用多种手段来进行DDoS防护,以确保网络和网站的正常运行。以下是速盾CDN可能采用的一些主要DDoS防护手段: 实时监测和分析: 速盾CDN实时监测网络流量,通过分析流量模式来检测异常行为,以迅速发现潜在的DDoS攻击…...

STL——queue容器

1.queue基本概念 概念:queue是一种先进先出(First In First Out,FIFO)的数据结构,它有两个出口。 队列容器允许从一端新增元素,从另一端移除元素。 队列中只有队头和队尾才可以被外界使用,因此队列不允许…...

gitLab页面打tag操作步骤

作者:moical 链接:gitLab页面打tag简单使用 - 掘金 (juejin.cn) 来源:稀土掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 ---------------------------------------------------------------------…...

神秘的Cookie和Session

Cookie 1.Cookie是什么? Cookie是浏览器提供的持久化储存数据的方式。 2.从哪里来? Cookie从服务器中来,存储到客户端中。一个客户端就对应着一个浏览器。 服务器代码中决定了什么样的数据会储存到客户端中,通过HTTP相应的Se…...

对比直接使用厂商 API 体验 Taotoken 在路由容灾上的价值

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 对比直接使用厂商 API 体验 Taotoken 在路由容灾上的价值 在开发依赖大模型能力的应用时,服务的连续性与稳定性是保障用…...

3分钟掌握Seraphine:英雄联盟智能助手完全指南

3分钟掌握Seraphine:英雄联盟智能助手完全指南 【免费下载链接】Seraphine 英雄联盟战绩查询工具 项目地址: https://gitcode.com/gh_mirrors/se/Seraphine Seraphine是一款基于英雄联盟官方LCU API开发的智能游戏助手,通过自动BP系统和实时战绩查…...

从0到1:手把手教你搭建VSCode(附避坑指南,拒绝报错),全程复制粘贴即可

🔥个人主页:北极的代码(欢迎来访) 🎬作者简介:java后端学习者 ❄️个人专栏:苍穹外卖日记,SSM框架深入,JavaWeb ✨命运的结局尽可永在,不屈的挑战却不可须臾或…...

Obsidian智能模板终极指南:3步打造高效笔记自动化系统

Obsidian智能模板终极指南:3步打造高效笔记自动化系统 【免费下载链接】Templater A template plugin for obsidian 项目地址: https://gitcode.com/gh_mirrors/te/Templater Templater插件是Obsidian生态系统中功能最强大的智能模板解决方案,它能…...

虚实实景双向映射,升级高端楼宇精细化透明治理

虚实实景双向映射,升级高端楼宇精细化透明治理副标题:原生引擎驱动动态三维场景重构,结合无感化坐标解算、遮挡自适应跨镜接续、身体指纹无源身份匹配,构筑难以复刻、适配极强的楼宇透明化技术壁垒一、方案总览当下高端楼宇运营治…...

基于RAG的电影智能体构建:从向量检索到Agentic设计

1. 项目概述:一个能聊电影的智能体最近在GitHub上看到一个挺有意思的项目,叫tomasonjo/llm-movieagent。光看名字,你大概能猜到,这是一个和电影、和大型语言模型(LLM)相关的智能体。简单来说,它…...

树莓派扩展板EYESPI Pi Beret:简化硬件连接,加速原型开发

1. 项目概述:为什么我们需要EYESPI Pi Beret?玩树莓派的朋友,尤其是喜欢捣鼓屏幕和传感器的,肯定都经历过那个阶段:面对一堆杜邦线,对照着屏幕驱动板的引脚定义,一个个数着树莓派的GPIO针脚&…...

Midjourney像素艺术提示词工程:98%新手忽略的4个隐藏权重指令,实测提升风格还原度320%

更多请点击: https://intelliparadigm.com 第一章:Midjourney像素艺术提示词工程的底层逻辑重构 像素艺术在 Midjourney 中并非天然适配的生成模态,其高精度、低分辨率、强风格约束的特性与扩散模型默认的连续性渲染范式存在根本张力。要实现…...

AI智能体GUI交互实战:从原理到实现,让AI玩转桌面应用

1. 项目概述:一个能“玩”游戏的AI智能体最近在AI智能体(Agent)的圈子里,一个名为“ChattyPlay-Agent”的开源项目引起了我的注意。乍一看名字,你可能会觉得它又是一个基于大语言模型(LLM)的聊天…...

【仅剩47份】Midjourney湿版摄影风格训练数据包(含1851–1889年原始湿版扫描图谱×236张+ICC色彩配置文件×5):精准匹配V6.6新渲染引擎底层纹理采样逻辑

更多请点击: https://intelliparadigm.com 第一章:湿版摄影风格的历史溯源与数字再生价值 湿版摄影(Wet Plate Collodion Process)诞生于1851年,由英国科学家弗雷德里克斯科特阿彻(Frederick Scott Archer…...