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

php网站开发平台企业建设网站的策划流程

php网站开发平台,企业建设网站的策划流程,网站建设关键要做好哪些工作,广西做网站公司作品展示#xff1a;#xff1a;——4宫格 576套不重复模板#xff08;48页*12套题#xff09; 背景需求#xff1a; 生成4宫格基础模板768套#xff0c;观看64页内容时#xff0c;明显看到有错误 【教学类-43-13】 20240103 #xff08;4宫格数独#xff1a;错误版…作品展示——4宫格 576套不重复模板48页*12套题 背景需求 生成4宫格基础模板768套观看64页内容时明显看到有错误 【教学类-43-13】 20240103 4宫格数独错误版768套 不重复的基础模板数量768套-CSDN博客文章浏览阅读95次点赞3次收藏3次。【教学类-43-13】 20240103 4宫格数独错误版768套 不重复的基础模板数量768套https://blog.csdn.net/reasonsummer/article/details/135372063 解决思路 最终发现纵向4格不能直接用三个不等于进行通用——第0格数字不等于第4格数字不等于第8格数字不等于第12个数字、 修改成一个对应一个进行不等于 第0格数字与第4格数字不相等 第0格数字与第8格数字不相等 第0格数字与第12格数字不相等 第4格数字与第8格数字不相等 第4格数字与第12格数字不相等 第8格数字与第12格数字不相等 原理不清楚反正最后结果数字从786降低到576.应该是排除掉一部分错误的题型。 上代码 # 测试11*11格2*2一共4套3*3 宫格目的数独14 4宫格有300套不同的基础模板 作者阿夏 时间2024年01月03日 13:35import random from win32com.client import constants,gencache from win32com.client.gencache import EnsureDispatch from win32com.client import constants # 导入枚举常数模块 import os,timeimport docx from docx import Document from docx.shared import Pt from docx.shared import RGBColor from docx.enum.text import WD_PARAGRAPH_ALIGNMENT from docx.oxml.ns import qnfrom docxtpl import DocxTemplate import pandas as pd from docx2pdf import convert from docx.shared import RGBColor# 生成题库 import random import math from itertools import permutations# numint(input(生成几份\n)) # 制作单元格# 几宫格 hsall4 # int(input(3宫格数独3\n)) hshsall# kkint(input(空格数量输入5就是50%就是空一半\n))print(------第1步制作单元格-------) ll[3,4,5,6,7,8,9] # 如果输入345 mm[43,43,32,32,32,32,32]# 3对应的套数是4*3套 nn[36,24,36,24,24,24,24]# 3对应的写入单元格的数字大小36磅 for r in range(len(ll)):if hsall int(ll[r]):# 底边几套.底边看有2份dbint(mm[r][0])# int(input(底边几套? 3\n))# 侧边几套 侧边看也是2份print(db ) cbint(mm[r][1])# int(input(侧边几套? 2\n))print(cb)sizeint(nn[r])print(size) # 写入单元格数字的大小撑满格子# 新建一个”装N份word和PDF“的临时文件夹 imagePath1rC:\Users\jg2yXRZ\OneDrive\桌面\数独\零时Word if not os.path.exists(imagePath1): # 判断存放图片的文件夹是否存在os.makedirs(imagePath1) # 若图片文件夹不存在就创建# 计算不同模板中的单元格坐标放在bg里 # 棋盘格子数量# 如果正方形底边2*侧边2就是3*3宫格 2*24套底边边格子数量就是3*217侧边格子数量就是3*217 # 如果长方形底边3*侧边2就是3*3宫格3*26套 底边格子数量就是3*3211侧边格子数量就是3*217 # if dbcb: db_size hs*dbdb-1 cb_size hs*cbcb-1 print({}宫格排列底{}侧{}共{}套,底边格子数{}.format(hs,db,cb,db*cb,db_size )) print({}宫格排列底{}侧{}共{}套,侧边格子数{}.format(hs,db,cb,db*cb,cb_size ))# 确定每个宫格的左上角坐标 00 04 40 44 bgszm[] for a in range(0,cb_size,hs1): # 0-11每隔4写一个坐标 侧边yfor b in range(0,db_size,hs1): # 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(hs):for y in range(hs):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)) # 12bg.append(s) # 0102 print(bg)print(------第2步制作3宫格的12套题的内容-------)# 制作3宫格的12套题目没有空格只有基础模板 lst[] for b in range(1,hs1):lst.append(b) print(lst)permutations_list list(permutations(lst)) numbers [list(permutation) for permutation in permutations_list] # print(numbers) # [[1, 2, 3], [1, 3, 2], [2, 1, 3], [2, 3, 1], [3, 1, 2], [3, 2, 1]] # 6种组合# 互相组合成3组 import itertools# 计算排列数量并生成所有可能的排列 combinations2 list(itertools.permutations(numbers, hs))# 输出排列数量 # print(len(combinations2)) # 120# # 把所有数字都提取成元素 ll[] for o1 in combinations2:for o2 in o1:for o3 in o2:ll.append(o3) # print(ll) # print(len(ll)) # 1080vhs*hs # 16个数字抽取一组 f[] for i in range(int(len(ll)/v)):f.append(ll[i*v:i*vv]) # print(f) # print(len(f)) #120条# # # 遍历表格把0、5、10相同的内容删除,横向的数字1234都正确了现在只要排除竖向不对的P[] zz[] u[] for k in f: if int(k[0])!int(k[4])and int(k[0])!int(k[8])and int(k[0])!int(k[12]) and int(k[4])!int(k[8]) and int(k[4])!int(k[12])and int(k[8])!int(k[12]) and int(k[0])int(k[4])int(k[8])int(k[12])10 and \int(k[1])!int(k[5])and int(k[1])!int(k[9])and int(k[1])!int(k[13]) and int(k[5])!int(k[9]) and int(k[5])!int(k[13])and int(k[9])!int(k[13]) and int(k[1])int(k[5])int(k[9])int(k[13])10 and \int(k[2])!int(k[6])and int(k[2])!int(k[10])and int(k[2])!int(k[14]) and int(k[6])!int(k[10]) and int(k[6])!int(k[14])and int(k[10])!int(k[14]) and int(k[2])int(k[6])int(k[10])int(k[14])10 and\int(k[3])!int(k[7])and int(k[3])!int(k[11])and int(k[3])!int(k[15]) and int(k[7])!int(k[11]) and int(k[7])!int(k[15])and int(k[11])!int(k[15]) and int(k[3])int(k[7])int(k[11])int(k[15])10:zz.append(k) print(zz) print(不重复题目数量{}.format(len(zz)))# 不重复题目数量768for hh in zz:for ss in hh:u.append(ss) # print(u) print(所有元素长度{}.format(len(u))) # 所有元素长度12288# 27个16元素在一页上 bbhs*hs*db*cb print(bb) # 4*4*4*3192. 64张 for kk in range(int(len(u)/int(bb))): # bb192kk0-64P.append(u[kk*bb:kk*bbbb]) print(P) print(len(P)) # 12道题目print(------第3步写入docxword表格正好12格子写入1页12个-------) # 这里 for z in range(len(P)):doc Document(rC:\Users\jg2yXRZ\OneDrive\桌面\数独\数独长方形({}宫格.docx.format(hs)) # table doc.tables[0] # 表0表2 写标题用的# 标题写入3、5单元格 for t in range(0,len(bg)): # 0-5是最下面一行用来写卡片数字ppint(bg[t][0:2]) # qqint(bg[t][2:4])kstr(P[z][t]) # 提取list图案列表里面每个图形 t索引数字print(pp,qq,k)# 图案符号的字体、大小参数runtable.cell(pp,qq).paragraphs[0].add_run(k) # 在单元格0,0(第1行第1列)输入第0个图图案run.font.name 黑体#输入时默认华文彩云字体# run.font.size Pt(46) #输入字体大小默认30号 换行一页一份大卡片run.font.size Pt(size) #是否加粗# run.font.color.rgb RGBColor(150,150,150) #数字小颜色深0-255run.font.color.rgb RGBColor(50,50,50) #数字小颜色深0-255run.boldTrue# paragraph.paragraph_format.line_spacing Pt(180) #数字段间距r run._elementr.rPr.rFonts.set(qn(w:eastAsia), 黑体)#将输入语句中的中文部分字体变为华文行楷table.cell(pp,qq).paragraphs[0].alignment WD_PARAGRAPH_ALIGNMENT.CENTER#居中 doc.save(rC:\Users\jg2yXRZ\OneDrive\桌面\数独\零时Word\{}.docx.format(%02d%(z1)))#保存为XX学号的电话号码word time.sleep(2)from docx2pdf import convert# docx 文件另存为PDF文件inputFile rC:/Users/jg2yXRZ/OneDrive/桌面/数独/零时Word/{}.docx.format(%02d%(z1))# 要转换的文件已存在outputFile rC:/Users/jg2yXRZ/OneDrive/桌面/数独/零时Word/{}.pdf.format(%02d%(z1)) # 要生成的文件不存在# 先创建 不存在的 文件f1 open(outputFile, w)f1.close()# 再转换往PDF中写入内容convert(inputFile, outputFile)print(----------第4步把都有PDF合并为一个打印用PDF------------)# 多个PDF合并CSDN博主「红色小小螃蟹」https://blog.csdn.net/yangcunbiao/article/details/125248205 import os from PyPDF2 import PdfMerger target_path C:/Users/jg2yXRZ/OneDrive/桌面/数独/零时Word pdf_lst [f for f in os.listdir(target_path) if f.endswith(.pdf)] pdf_lst [os.path.join(target_path, filename) for filename in pdf_lst] pdf_lst.sort() file_merger PdfMerger() for pdf in pdf_lst:print(pdf)file_merger.append(pdf)file_merger.write(C:/Users/jg2yXRZ/OneDrive/桌面/数独/打印合集05长方形数独宫格14.0 {}宫格基础模板共计{}套{}张.pdf .format(hs,len(zz),z1))file_merger.close() # doc.Close()# # print(----------第5步删除临时文件夹------------) import shutil shutil.rmtree(C:/Users/jg2yXRZ/OneDrive/桌面/数独/零时Word) #递归删除文件夹即删除非空文件夹time.sleep(3) # 防止转换时报错预留生成时间 48份生成用多长时间 2200第0份→2205  第19份→2212 大约12分钟 48页12套576套 目测貌似没有错误可能有错误欢迎指出 后续思考 1、没想到4宫格16个数字就有576种数独排列可能再试试5宫格希望程序能撑的出那么多数据 2、排除同行、同类相同数字的代码最好能 简化否则写5宫格的时候会很长很长T_T
http://www.w-s-a.com/news/102268/

相关文章:

  • 做网站学多长时间可以学会推广软件公司
  • 网络网站设计培训长沙建站模板大全
  • 站群搭建移动端处理器天梯图
  • 岳池发展建设集团有限公司门户网站湛江seo咨询
  • 手机网站工具关键词排名是什么意思
  • 游民星空是谁做的网站沈阳网站托管公司
  • 做网站搭建需要什么人vs2017移动网站开发
  • 购物网站开发需要什么技术怎么查看网站是否备案
  • 学做电商那个网站好网站建设投票主题
  • 中卫网站推广网络营销毕业设计做网站大小有什么要求
  • 做问卷网站义乌网站建设推广专家
  • 不会编程怎样建设网站昆明做网站哪家
  • 直播网站模板新营销平台电商网站
  • 建设部指定招标网站免费的企业查询软件
  • 做前端常用的网站及软件下载平台优化是什么意思
  • 企石镇仿做网站wordpress 网站白屏
  • 班级网站建设规划书专业定制网红变色杯
  • 上海网站设计公司电话甘肃路桥建设集团有限公司官方网站
  • 哈尔滨网站建设网站开发陕西省建设监理工程协会网站
  • 微信公众号电商网站开发wordpress增加论坛
  • 网站建设视频百度网盘下载免费wordpress搭建
  • 哈尔滨市网站建设公司汕头市公司网站建设平台
  • 东莞网站建设方案外包甘肃两学一做网站
  • 网站建设优化排名推广平面设计职业学校
  • 网后台的网站怎么做网站代理商
  • 网站如何转移到新的空间服务器上手机无人区离线地图app
  • 网站建设模板的买域名做网站的坏处
  • 长春做网站qianceyun做景观素材有哪几个网站
  • 自己建的网站也要注册域名吗邯郸市做网站
  • 天津网站建设制作软件潍坊个人做网站