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

建筑设计网站issuuwordpress网站打开速度慢

建筑设计网站issuu,wordpress网站打开速度慢,网站正在维护中啥意思,网站查询功能 技术支持 中企动力三钱筮法项目技术说明 1. 技术栈 GUI框架: CustomTkinter 现代化的Tkinter扩展提供美观的界面组件支持主题定制 数据存储: JSON 卦象数据: gua_info.json记忆数据: memory.json易经解释: detail.json 图像处理: PIL (Python Imaging Library) 处理图标和图片资源 2. 主要功… 三钱筮法项目技术说明 1. 技术栈 GUI框架: CustomTkinter 现代化的Tkinter扩展提供美观的界面组件支持主题定制 数据存储: JSON 卦象数据: gua_info.json记忆数据: memory.json易经解释: detail.json 图像处理: PIL (Python Imaging Library) 处理图标和图片资源 2. 主要功能模块 2.1 占卜核心 (divination.py) 模拟铜钱投掷计算卦象生成爻符解析卦象含义 2.2 界面实现 (threecoins_gui.py) 主窗口布局弹出窗口管理事件处理动态显示结果 3. 摇卦说明 3.1 基本原理 使用三枚铜钱模拟传统的筮法每次投掷产生一个爻六次投掷形成完整卦象 3.2 计算规则 三枚铜钱正面(阳)记为1反面(阴)记为0计算规则 三背(0) 老阳一正二背(1) 少阴二正一背(2) 少阳三正(3) 老阴 3.3 卦象形成 下卦由下三爻组成上卦由上三爻组成组合形成六十四卦之一 4. 特色功能 卦序歌记忆八卦口诀查看卦名读音对照详细卦象解释滚动显示界面实时动态更新 5. 使用说明 点击起卦按钮开始占卜系统自动模拟六次投掷显示完整卦象和解释可查看相关参考资料 6. 代码实现 加入相关模块 requirements.txt pillow customtkinter requests beautifulsoup4 zhdate sv-ttk tinui tkcalendar tkinter import random import json import tkinter as tk from tkinter import Labeldef yao(n):计算每爻的阴阳和符号if not 0 n 3:raise ValueError(输入数字必须在0-3之间)if n 0: # 三背为重老阳return 1, Oelif n 1: # 一字为拆少阴return 0, --elif n 2: # 两字为单少阳return 1, 一else: # 三字为交老阴return 0, Xdef throw_coins():模拟投掷三枚铜钱coins [random.choice([0, 1]) for _ in range(3)]return sum(coins)def gua(n1, n2, n3):由三爻得一卦return 1 (not n3) (not n2)*2 (not n1)*4def duan_gua(inner, outer):由内外卦得到卦名和对应关系bagua_names [乾, 兑, 离, 震, 巽, 坎, 艮, 坤]gua_list [[乾为天,天泽履,天火同人,天雷无妄,天风姤,天水讼,天山遁,天地否],[泽天夬,兑为泽,泽火革,泽雷随,泽风大过,泽水困,泽山咸,泽地萃],[火天大有,火泽睽,离为火,火雷噬嗑,火风鼎,火水未济,火山旅,火地晋],[雷天大壮,雷泽归妹,雷火丰,震为雷,雷风恒,雷水解,雷山小过,雷地豫],[风天小畜,泽中孚,风火家人,风雷益,巽为风,风水涣,风山渐,风地观],[水天需,水泽节,水火既济,水雷屯,水风井,坎为水,水山蹇,水地比],[山天大畜,山泽损,山火贲,山雷颐,山风蛊,山水蒙,艮为山,山地剥],[地天泰,地泽临,地火明夷,地雷复,地风升,地水师,地山谦,坤为地]]if not (1 inner 8 and 1 outer 8):raise ValueError(卦序号必须在1-8之间)return (gua_list[inner-1][outer-1], bagua_names[inner-1], bagua_names[outer-1])def calculate_gua(numbers):计算卦象if len(numbers) ! 6:raise ValueError(必须输入6个数字)# 计算六爻的阴阳和符号yao_results [yao(n) for n in numbers]yao_values [y[0] for y in yao_results]yao_symbols [y[1] for y in yao_results]# 计算内外卦inner_gua gua(yao_values[0], yao_values[1], yao_values[2])outer_gua gua(yao_values[3], yao_values[4], yao_values[5])gua_result duan_gua(inner_gua, outer_gua)return (*gua_result, yao_symbols)def auto_divination():自动进行六次铜钱占卜numbers [throw_coins() for _ in range(6)]result, inner_name, outer_name, yao_symbols calculate_gua(numbers)return result, numbers, inner_name, outer_name, yao_symbolsclass DivinationGUI:def __init__(self):# 加载卦象详细解释数据with open(source/gua_info.json, r, encodingutf-8) as f:self.detail_data json.load(f)def show_gua_detail(self, gua_name):显示某卦的详细解释if gua_name in self.detail_data:detail_info self.detail_data[gua_name]# 在界面上显示详细信息text f卦名: {gua_name}\n\ntext f卦辞: {detail_info[卦辞]}\n\ntext 爻辞:\nfor yao, desc in detail_info[爻辞].items():text f{yao}: {desc}\n# 更新界面显示self.detail_text.delete(1.0, tk.END) self.detail_text.insert(1.0, text)if __name__ __main__:try:result, numbers, inner_name, outer_name, yao_symbols auto_divination()print(f六次投掷结果: {numbers})print(f得到的卦象: {result})print(f内卦为: {inner_name})print(f外卦为: {outer_name})print(f完整卦名: {outer_name}{inner_name}卦)coin_meanings {0: 三背(老阳),1: 一字(少阴),2: 两字(少阳), 3: 三字(老阴)}print(\n详细解释:)for i, (n, symbol) in enumerate(zip(numbers, yao_symbols), 1):print(f第{i}爻: {n}个铜钱朝上 - {coin_meanings[n]} {symbol})print(\n卦象图示(从下往上):)for symbol in yao_symbols:print(f {symbol})except ValueError as e:print(f错误: {e})让我详细解释这段代码的功能 1. 核心功能模块 1.1 爻的计算 (yao函数) def yao(n):计算每爻的阴阳和符号if n 0: # 三背为重老阳return 1, Oelif n 1: # 一字为拆少阴return 0, --# ...将铜钱结果转换为爻的阴阳属性和符号返回值(阴阳值, 符号) 1.2 铜钱投掷模拟 (throw_coins函数) def throw_coins():模拟投掷三枚铜钱coins [random.choice([0, 1]) for _ in range(3)]return sum(coins)随机模拟三枚铜钱的正反面返回正面朝上的数量 1.3 卦的计算 (gua函数) def gua(n1, n2, n3):由三爻得一卦return 1 (not n3) (not n2)*2 (not n1)*4将三个爻的阴阳值转换为八卦序号 1.4 卦象判断 (duan_gua函数) def duan_gua(inner, outer):由内外卦得到卦名和对应关系bagua_names [乾, 兑, 离, 震, 巽, 坎, 艮, 坤]gua_list [...]根据内外卦的序号确定完整卦象返回(卦名, 内卦名, 外卦名) 2. 自动占卜流程 2.1 计算卦象 (calculate_gua函数) def calculate_gua(numbers):计算卦象# 计算六爻的阴阳和符号yao_results [yao(n) for n in numbers]# ...处理六个数字得到完整卦象返回卦象信息和爻符号 2.2 自动占卜 (auto_divination函数) def auto_divination():自动进行六次铜钱占卜numbers [throw_coins() for _ in range(6)]# ...自动执行完整的占卜过程返回所有相关结果 3. GUI界面类 class DivinationGUI:def __init__(self):# 加载卦象数据with open(source/gua_info.json, r, encodingutf-8) as f:self.detail_data json.load(f)提供图形界面加载和显示卦象详细信息 4. 占卜结果展示 主程序展示 六次投掷的数字结果得到的卦象名称内外卦信息每爻的详细解释卦象的图形表示 5. 使用示例 result, numbers, inner_name, outer_name, yao_symbols auto_divination() print(f六次投掷结果: {numbers}) print(f得到的卦象: {result})这段代码实现了一个完整的易经占卜系统包括 铜钱投掷的模拟爻的计算和转换卦象的判断和解释图形界面的显示详细结果的输出 6. 界面实现 import customtkinter as ctk from divination import auto_divination from PIL import Image import json# 八卦列表 gua8_hanzi [乾,兑,离,震,巽,坎,艮,坤] gua8_symbols [☰, ☱, ☲, ☳, ☴, ☵, ☶, ☷]# 加载记忆数据 try:with open(source/memory.json, r, encodingutf-8) as f:memory_data json.load(f)print(成功加载记忆数据:, memory_data.keys()) except Exception as e:print(f加载记忆数据失败: {e})memory_data {}class MemoryWindow:def __init__(self, title, content, parent):self.window ctk.CTkToplevel(parent)self.window.title(title)self.window.geometry(500x600)# 先隐藏窗口等位置设置好后再显示self.window.withdraw()# 等待父窗口更新完成parent.update_idletasks()# 获取父窗口的位置和大小parent_width parent.winfo_width()parent_height parent.winfo_height()parent_x parent.winfo_x()parent_y parent.winfo_y()# 计算父窗口的中心点parent_center_x parent_x parent_width // 2parent_center_y parent_y parent_height // 2# 设置新窗口的位置window_width 500window_height 600x parent_center_x - window_width // 2y parent_center_y - window_height // 2# 应用位置self.window.geometry(f{window_width}x{window_height}{x}{y})# 显示窗口self.window.deiconify()# 设置窗口始终显示在最前面self.window.transient(parent)self.window.grab_set()# 创建滚动框架self.scroll_frame ctk.CTkScrollableFrame(self.window,width460,height550)self.scroll_frame.pack(padx20, pady20, fillboth, expandTrue)# 显示内容if isinstance(content, list):# 卦序歌格式for line in content:ctk.CTkLabel(self.scroll_frame,textline,font(Microsoft YaHei, 14),wraplength420).pack(pady5)elif isinstance(content, dict):if title 六十四卦读音:# 读音格式 - 每行显示两个items list(content.items())for i in range(0, len(items), 2): # 每次取两个项目frame ctk.CTkFrame(self.scroll_frame)frame.pack(pady2, fillx, padx20)# 左边的卦名和读音left_gua, left_pinyin items[i]ctk.CTkLabel(frame,textf{left_gua}{left_pinyin},font(Microsoft YaHei, 14),width200,anchorw).pack(sideleft, padx10)# 右边的卦名和读音如果存在if i 1 len(items):right_gua, right_pinyin items[i 1]ctk.CTkLabel(frame,textf{right_gua}{right_pinyin},font(Microsoft YaHei, 14),width200,anchorw).pack(sideleft, padx10)else:# 八卦口诀格式for gua, verses in content.items():frame ctk.CTkFrame(self.scroll_frame)frame.pack(pady10, fillx)ctk.CTkLabel(frame,textf【{gua}】,font(Microsoft YaHei, 14, bold)).pack(pady5)for verse in verses:ctk.CTkLabel(frame,textverse,font(Microsoft YaHei, 14)).pack(pady2)try:with open(source/gua_info.json, r, encodingutf-8) as f:gua_info json.load(f)print(f成功加载卦象数据共有 {len(gua_info[gua])} 个卦象) except Exception as e:print(f加载卦象数据失败: {e})gua_info {gua: []}# 打印所有卦象以调试 # print(gua_info)class DivinationGUI:def __init__(self, masterNone):ctk.set_appearance_mode(green)ctk.set_default_color_theme(green)self.root ctk.CTk()self.root.title(三钱筮法)self.root.geometry(600x850)# 修改标题部分为框架self.title_frame ctk.CTkFrame(self.root)self.title_frame.pack(pady10, fillx)# 标题标签self.title_label ctk.CTkLabel(self.title_frame,text三钱筮法,fontctk.CTkFont(size18, weightbold))self.title_label.pack(sideleft, padx20)# 卦序歌按钮 - 改为标签样式self.sequence_button ctk.CTkLabel(self.title_frame,text卦序歌,fontctk.CTkFont(size14),cursorhand2 # 鼠标悬停时显示手型)self.sequence_button.pack(sideright, padx10)self.sequence_button.bind(Button-1, lambda e: self.show_sequence()) # 绑定点击事件# 八卦口诀按钮 - 改为标签样式self.memory_button ctk.CTkLabel(self.title_frame,text八卦口诀,fontctk.CTkFont(size14),cursorhand2 # 鼠标悬停时显示手型)self.memory_button.pack(sideright, padx10)self.memory_button.bind(Button-1, lambda e: self.show_memory()) # 绑定点击事件# 卦名读音按钮self.pronunciation_button ctk.CTkLabel(self.title_frame,text卦名读音,fontctk.CTkFont(size14),cursorhand2)self.pronunciation_button.pack(sideright, padx10)self.pronunciation_button.bind(Button-1, lambda e: self.show_pronunciation())# 创建一个滚动容器self.scroll_frame ctk.CTkScrollableFrame(self.root,width600,height700)self.scroll_frame.pack(padx20, pady(10, 0), fillboth, expandTrue)# 将 main_frame 移动到滚动容器中self.main_frame ctk.CTkFrame(self.scroll_frame)self.main_frame.pack(padx10, pady5, fillboth, expandTrue)# 创建显示标签self.result_label ctk.CTkLabel(self.main_frame,text,font(Microsoft YaHei, 14),justifyleft,wraplength450)self.result_label.pack(padx20, pady20)# 创建卦象框架self.gua_frame ctk.CTkFrame(self.main_frame)self.gua_frame.pack(pady20)# 只保留一个标签self.upper_gua_label ctk.CTkLabel(self.gua_frame,text,font(Microsoft YaHei, 16),width450,anchorw,justifyleft)self.upper_gua_label.pack(pady10)self.lower_gua_label ctk.CTkLabel(self.gua_frame,text,font(Microsoft YaHei, 16),width450,anchorw,justifyleft)self.lower_gua_label.pack(pady10)self.combined_gua_label ctk.CTkLabel(self.gua_frame,text,font(Microsoft YaHei, 16),width450,anchorw,justifyleft)self.combined_gua_label.pack(pady10)# 按钮框架固定在底部self.button_frame ctk.CTkFrame(self.root)self.button_frame.pack(pady10, padx20, fillx, sidebottom)# 起卦按钮self.divine_button ctk.CTkButton(self.button_frame, text起卦,fontctk.CTkFont(size16),commandself.perform_divination,width120,height40)self.divine_button.pack(sideleft, padx10)# 退出按钮self.quit_button ctk.CTkButton(self.button_frame,text退出,fontctk.CTkFont(size16),commandself.root.quit,width120,height40,fg_color#D35B58,hover_color#C77C78)self.quit_button.pack(sideright, padx10)# 设置初始文本self.result_label.configure(text点击起卦按钮开始占卜)self.upper_gua_label.configure(text)# 移除自动起卦# self.perform_divination()def perform_divination(self):# 获取卦象结果result, numbers, upper_gua, lower_gua, yao_symbols auto_divination()# 在控制台打印结果以便调试print(卜卦结果:, result)print(数字序列:, numbers)print(上卦:, upper_gua)print(下卦:, lower_gua)print(爻符号:, yao_symbols)# 查找对应的卦象信息gua_info_found Nonefor gua in gua_info[gua]:if gua[name] result:gua_info_found guabreakif gua_info_found:# 显示卦象信息display_text (f═══════════ 卜卦结果 ═══════════\nf六爻数字: { .join(map(str, numbers))}\nf爻的符号: { .join(yao_symbols)}\nf═══════════ 卦象解析 ═══════════\nf卦象: {gua_info_found[name]}{gua_info_found[alias]}\nf等级: {gua_info_found[level]}\nf描述: {gua_info_found[description]}\nf诗曰: {gua_info_found[poem]}\nf解释: {gua_info_found[explanation]}\nf事业: {gua_info_found[career]}\nf经商: {gua_info_found[business]}\nf名誉: {gua_info_found[fame]}\nf外出: {gua_info_found[travel]}\nf婚姻: {gua_info_found[marriage]}\nf决策: {gua_info_found[decision]})self.result_label.configure(textdisplay_text)# 显示卦象组成upper_symbol gua8_symbols[gua8_hanzi.index(upper_gua)]lower_symbol gua8_symbols[gua8_hanzi.index(lower_gua)]# 将三个标签的内容合并为一行gua_text (f上卦{upper_gua} {upper_symbol} f下卦{lower_gua} {lower_symbol} f组合卦象{result})# 只使用一个标签显示所有信息self.upper_gua_label.configure(textgua_text)# 隐藏其他两个标签self.lower_gua_label.pack_forget()self.combined_gua_label.pack_forget()else:error_text (f未找到卦象信息{result}\nf完整卜卦结果\nf数字{numbers}\nf爻符号{yao_symbols}\nf上卦{upper_gua}\nf下卦{lower_gua})self.result_label.configure(texterror_text)print(error_text)def show_memory(self):print(当前 memory_data:, memory_data)if 八卦口诀 in memory_data:MemoryWindow(memory_data[八卦口诀][title],memory_data[八卦口诀][content],self.root)else:print(未找到八卦口诀数据)def show_sequence(self):if 卦序歌 in memory_data:MemoryWindow(memory_data[卦序歌][title],memory_data[卦序歌][content],self.root)def show_pronunciation(self):if 卦名读音 in memory_data:MemoryWindow(memory_data[卦名读音][title],memory_data[卦名读音][content],self.root)def run(self):self.root.mainloop()if __name__ __main__:app DivinationGUI()app.run()
http://www.zqtcl.cn/news/305325/

相关文章:

  • 当下网站建设常见的网址有哪些
  • 洪雅网站建设事业单位门户网站建设包含内容
  • 外网如何查看局域网建设的网站区块链开发工程师要求
  • 网站首页三张海报做多大怎么做网上直营店网站
  • 网站制作新手教程视频省建设厅网站安全生产标准化
  • 自动建设网站系统阿里云虚拟主机多网站
  • 区块链app排名网站seo其应用
  • 海口网站建设咨询一般网站建设需求有哪些方面
  • 免费网站建设朋友交流模板王网站
  • wordpress不同分类不同广告 文章属于不同分类网站 优化手机版
  • 淮安市建设银行网站首页王也是谁
  • 好用的网站管理系统给wordpress程序提速
  • 网页设计模板的网站网站开发包括哪些
  • 做网站的标准国外html5网站模板
  • 手机网站设计公司立找亿企邦郑州seo网络营销技术
  • 网站设计优秀作品网站开发的背景知识
  • 响应式网站建设流程温州网站优化案例
  • 谢岗镇网站建设上海的网吧
  • 厦门网站建设 智多星做印刷的有什么网站
  • 怎样做原创短视频网站wordpress文章加音频
  • 建设一个网站所需要注意的最有前途的15个专业
  • 橱柜手机网站模板软件设计说明书
  • 山西云起时网站建设wordpress 字体大小
  • 网站建设详细报价电商开发系统
  • 搜索引擎营销的主要方法开封seo推广
  • 怎么在网上找做网站的客户安徽安能建设集团网站
  • 乾安网站建设哪家专业h5在线编辑
  • 公司网站建设模块简介广17网站一起做网店
  • 外包网站多少钱柳市建设网站
  • 做外贸站推广全国网页制作大赛