汉语拼音学习机(Flask,详细代码,帮助学习)

2024-01-09 07:08

本文主要是介绍汉语拼音学习机(Flask,详细代码,帮助学习),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

汉语拼音学习机

这个汉语拼音学习机的界面:
在这里插入图片描述

开发软件

Pycharm

代码如下:

import tkinter
import tkinter.scrolledtext
import tkinter.messagebox
from pypinyin.phrases_dict import phrases_dict
from pypinyin.pinyin_dict import pinyin_dictroot = tkinter.Tk()root.geometry("700x400+200+200")
root.title("汉语拼音词组学习机")
root.resizable(True,True)#在窗口上创建一个标签
(tkinter.Label(root,text='请输入要查询的内容:',anchor="e",font=("microsoft yahei",16))
.place(x=10,y=10,width=200,height=40))#用来输入查询内容的单行文本框
entrySearch = tkinter.Entry(root,font=("microsoft yahei",16))
entrySearch.place(x=220,y=10,width=180,height=40)#0表示查单字节拼音,1表示查词组
search_type = tkinter.IntVar(root,value=0)
radioPinyin = tkinter.Radiobutton(root,text='查单字拼音',variable = search_type,value=0)
radioPinyin.place(x=410,y=20,width=80,height=20)
radioPhrase = tkinter.Radiobutton(root,text='查词组',variable = search_type,value=1)
radioPhrase.place(x=500,y=20,width=60,height=20)#True表示包含词组拼音,False表示不包含词组拼音
include_pinyin = tkinter.BooleanVar(root,value=False)
checkbuttonInclude = tkinter.Checkbutton(root,variable=include_pinyin,text='包含词组拼音',onvalue=True,offvalue = False)
checkbuttonInclude.place(x=580,y=20,width=100,height=20)#创建按钮和按钮单击事件处理函数
def search():#删除多行文本框中原来的内容textContent.delete('0.0',tkinter.END)#获取并检查用户输入的带查询的内容user_input = entrySearch.get().strip()if not user_input:tkinter.messagebox.showinfo('提示','查询内容不能为空')return#查单个字的所有读音if search_type.get() ==0:if len(user_input)>1:tkinter.messagebox.showinfo('提示','只能查单个字的读音')return#查询拼音字典,如果有的话只会有一个包含所有读音的查询结果for num, pinyin in pinyin_dict.items():if chr(num) == user_input:textContent.insert(tkinter.INSERT,f'"{user_input}"的拼音有:\n{pinyin}')returnelse:tkinter.messagebox.showinfo('抱歉','你太厉害了,我都不认识这个字')#查词组elif search_type.get()==1:#是否有查询结果flag = Falsefor phrase,pinyin in phrases_dict.items():#用户输入的字符串不作为整体对待,每个字单独处理#查询同时包含每个字的词组if all(map(phrase.count,user_input)):#是否输出词组的拼音if include_pinyin.get():msg = f'{phrase}:{pinyin}\n'else:msg = f'{phrase}\n'textContent.insert(tkinter.INSERT,msg)flag = Trueif not flag:tkinter.messagebox.showinfo('抱歉','我的小脑瓜里找不到这样的词组')return
(tkinter.Button(root,text='查询',command=search,font=('microsoft yahei',16))
.place(x=10,y=60,width=60,height=40))#显示查询结果的多行文本框
textContent = tkinter.scrolledtext.ScrolledText(root,font=('microsoft yahei',16))
textContent.place(x=10,y=110,width=680,height=280)root.mainloop()

这篇关于汉语拼音学习机(Flask,详细代码,帮助学习)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Python与MySQL实现数据库实时同步的详细步骤

《Python与MySQL实现数据库实时同步的详细步骤》在日常开发中,数据同步是一项常见的需求,本篇文章将使用Python和MySQL来实现数据库实时同步,我们将围绕数据变更捕获、数据处理和数据写入这... 目录前言摘要概述:数据同步方案1. 基本思路2. mysql Binlog 简介实现步骤与代码示例1

Redis实现高效内存管理的示例代码

《Redis实现高效内存管理的示例代码》Redis内存管理是其核心功能之一,为了高效地利用内存,Redis采用了多种技术和策略,如优化的数据结构、内存分配策略、内存回收、数据压缩等,下面就来详细的介绍... 目录1. 内存分配策略jemalloc 的使用2. 数据压缩和编码ziplist示例代码3. 优化的

基于C#实现PDF转图片的详细教程

《基于C#实现PDF转图片的详细教程》在数字化办公场景中,PDF文件的可视化处理需求日益增长,本文将围绕Spire.PDFfor.NET这一工具,详解如何通过C#将PDF转换为JPG、PNG等主流图片... 目录引言一、组件部署二、快速入门:PDF 转图片的核心 C# 代码三、分辨率设置 - 清晰度的决定因

Python 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python

Java中HashMap的用法详细介绍

《Java中HashMap的用法详细介绍》JavaHashMap是一种高效的数据结构,用于存储键值对,它是基于哈希表实现的,提供快速的插入、删除和查找操作,:本文主要介绍Java中HashMap... 目录一.HashMap1.基本概念2.底层数据结构:3.HashCode和equals方法为什么重写Has

Python从Word文档中提取图片并生成PPT的操作代码

《Python从Word文档中提取图片并生成PPT的操作代码》在日常办公场景中,我们经常需要从Word文档中提取图片,并将这些图片整理到PowerPoint幻灯片中,手动完成这一任务既耗时又容易出错,... 目录引言背景与需求解决方案概述代码解析代码核心逻辑说明总结引言在日常办公场景中,我们经常需要从 W

使用Spring Cache本地缓存示例代码

《使用SpringCache本地缓存示例代码》缓存是提高应用程序性能的重要手段,通过将频繁访问的数据存储在内存中,可以减少数据库访问次数,从而加速数据读取,:本文主要介绍使用SpringCac... 目录一、Spring Cache简介核心特点:二、基础配置1. 添加依赖2. 启用缓存3. 缓存配置方案方案

MySQL的配置文件详解及实例代码

《MySQL的配置文件详解及实例代码》MySQL的配置文件是服务器运行的重要组成部分,用于设置服务器操作的各种参数,下面:本文主要介绍MySQL配置文件的相关资料,文中通过代码介绍的非常详细,需要... 目录前言一、配置文件结构1.[mysqld]2.[client]3.[mysql]4.[mysqldum

Java使用正则提取字符串中的内容的详细步骤

《Java使用正则提取字符串中的内容的详细步骤》:本文主要介绍Java中使用正则表达式提取字符串内容的方法,通过Pattern和Matcher类实现,涵盖编译正则、查找匹配、分组捕获、数字与邮箱提... 目录1. 基础流程2. 关键方法说明3. 常见场景示例场景1:提取所有数字场景2:提取邮箱地址4. 高级

Python多线程实现大文件快速下载的代码实现

《Python多线程实现大文件快速下载的代码实现》在互联网时代,文件下载是日常操作之一,尤其是大文件,然而,网络条件不稳定或带宽有限时,下载速度会变得很慢,本文将介绍如何使用Python实现多线程下载... 目录引言一、多线程下载原理二、python实现多线程下载代码说明:三、实战案例四、注意事项五、总结引