日语python怎么说_利用python进行日语汉字-假名转换
一.前言
最近在学日语,五十音图已会,进入到日语汉字的学习部分。目前遇到的最大困哪是日语进行训读的汉字记不住它的发音,或者记了就忘记,例如‘山口-やまくち 本田-ほんだ’。
于是想到了用python进行强化记忆训练。其基本思路是用把手打或者爬虫得到的日语汉字与对应假名输入excel里面写成两列,columns=['汉字','假名'],每次随机给出汉字,我在键盘输入假名,如果这个假名正确可以选择下一个或者退出训练,如果错误选择一直练到做对为止。每次训练完成反馈一共做了多少次,每次对了多少个,错了多少个。
二.代码
1.python代码网上乱学的,如有建议指出~
import pandas as pd
import random
df = pd.read_excel(r'Characters.xlsx')#两列假名储存在Characters.xlsx中
#一列表头叫‘汉字’,一列表头叫‘假名’
k=len(df)
Continue='1'
Right=[]#储存输入正确的汉字
Wrong=[]#储存输入错误的汉字
i=1
while Continue=='1':
t=random.randrange(0,k)
Hanzi=df.loc[t,'汉字']
Jiaming=df.loc[t,'假名']
print('第%s个字:'%i+Hanzi)
i=i+1
a = input("input假名:")
if Jiaming==a:
Right.append(Hanzi)#记录写输入对的汉字
print('Right~ Next or Quit: 1 or 0')#输入正确,下一个输入数字'1',退出训练数字'0'
Continue=input('输入数字:')
else:
print('Wrong! Next or Quit or Again: 1 or 0 or 2')#输入错误,继续输入数字'1',退出训练数字'0'
Wrong.append(Hanzi)#记录写输入错误的汉字
Continue=input('输入数字:')
while Continue=='2':
a = input("input假名:")
if Jiaming==a:
Right.append(a)
print('Right~ Next or Again: 1 or 2')#输入正确,下一个输入数字'1',再来一次数字'2'
Continue=input('输入数字:')
else:
print('Wrong! Next or Again: 1 or 2')#输入错误,下一个输入数字'1'并显示答案,再来一次数字'2'
Wrong.append(a)
Continue=input('输入数字:')
if Continue=='1':
print(Jiaming)
Right_word_dict = {}
Wrong_word_dict = {}
for char in Right:
if char not in Right_word_dict:
Right_word_dict[char]=1
else:
Right_word_dict[char]+=1
for char in Wrong:
if char not in Wrong_word_dict:
Wrong_word_dict[char]=1
else:
Wrong_word_dict[char]+=1
#用字典分析错误和正确的汉字的结果
RightResults = sorted(Right_word_dict.items(), key=lambda x:x[1], reverse=True) #x[1]或者x[0]排序方式不一样,默认x[1]字频排序
WrongResults = sorted(Wrong_word_dict.items(), key=lambda x:x[1], reverse=True)
2.效果示例
三.总结
1.代码部分
循环的判定条件我没写好,用的是‘1’、‘2’、‘3’每次输入数字很麻烦,而且切换到日语输入法后必须要用数字键盘的‘0’‘1’‘2’才能识别,不小心按到了‘enter’键作为input的变量就直接退出训练了。后面改进是想办法识别‘enter’或者‘space’键作为继续、退出的条件吧。
2.训练后的体会
这种训练方式本质上和死记硬背没有区别,其实更想解决的问题是如何从日语的汉字直接的到假名,或者说读音的。就是为什么‘山’训读叫‘’やま’,而不是‘やさし’,‘水’为什么叫‘みず’,而不是‘みち’。
目前想到或者找到的答案是汉字本身无法从形状直接得到他的读音,就像汉语里面之所以知道“山”读作‘shan’是因为从小背到大,却不知道为什么读作‘shan’。英语是可以直接拼读的,一般外国人也是不需要音标的。
貌似除了万能的“多看、多记、多听”没有其他解决办法了。
日语python怎么说_利用python进行日语汉字-假名转换相关推荐
- python高斯求和_利用Python进行数据分析(3)- 列表、元组、字典、集合
本文主要是对Python的数据结构进行了一个总结,常见的数据结构包含:列表list.元组tuple.字典dict和集合set. image 索引 左边0开始,右边-1开始 通过index()函数查看索 ...
- python照片墙地图_利用python生成照片墙的示例代码
PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了.其官方主页为:PIL. PIL历 ...
- python图色检测_利用python打开摄像头及颜色检测方法
最近两周由于忙于个人项目,一直未发言了,实在是太荒凉了....,上周由于项目,见到Python的应用极为广泛,用起来也特别顺手,于是小编也开始着手学习Python,-下面我就汇报下今天的学习成果吧 小 ...
- python音频聚类_利用python的KMeans和PCA包实现聚类算法
题目: 通过给出的驾驶员行为数据(trip.csv),对驾驶员不同时段的驾驶类型进行聚类,聚成普通驾驶类型,激进类型和超冷静型3类 . 利用Python的scikit-learn包中的Kmeans算法 ...
- python mysql 分页_利用python对mysql表做全局模糊搜索并分页实例
在写django项目的时候,有的数据没有使用模型管理(数据表是动态添加的),所以要直接使用mysql.前端请求数据的时候可能会指定这几个参数:要请求的页号,页大小,以及检索条件. "&quo ...
- python过去日期_利用python获取当前日期前后N天或N月日期的方法示例
前言 最近因为工作原因,发现一个Python的时间组件,很好用分享出来!(忘记作者名字了,在这里先感谢了),下面话不多说,来一起看看详细的介绍吧. 示例代码: # -*- coding: utf-8 ...
- python 词云_利用Python生成词云
利用Python生成词云 一.第三方库的安装与介绍 1.1 Python第三方库jieba(中文分词) 1.介绍 "结巴"中文分词:做最好的 Python 中文分词组件. 2.特 ...
- python爬虫背景_利用Python代码实现一键抠背景功能
前言 又是一个逛csdn发现的一个有趣的小项目,可以一键抠背景,需要用到removebg模块及其API,API可从其官网免费获取,网址如下https://www.remove.bg/zh ps:加上/ ...
- python代码物理_利用python求解物理学中的双弹簧质能系统详解
前言 本文主要给大家介绍了关于利用python求解物理学中双弹簧质能系统的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 物理的模型如下: 在这个系统里有两个物体,它们的质 ...
最新文章
- python入门指南 许半仙 txt-第1题_峥嵘_玄幻奇幻_百家网
- 异地多活场景下的数据同步之道 | 珍藏版
- AJAX框架衣柜内部结构,揭秘最实用的衣柜内部结构这样布局,速速get!
- 分组取最新记录的SQL
- 【文末有福利】炒鸡蛋竟然与无人驾驶有关?
- C++文件读写函数之——fopen、fread和fwrite、fgetc和fputc、fgets和fputs、ftellf和fseek、rewind...
- 3D视觉(二)四元数简要说明
- hdu 4314 Save the dwarfs
- 图片涂改了怎么给复原_图片马赛克怎么去掉 怎么去除马赛克方法介绍
- 学生宿舍管理系统的设计与实现
- 基本图像分类与目标检测网络要点总结
- NFT吸血DeFi,冰火两重天
- python个人博客搭建_Django后台 + Wordpress主题快速搭建个人博客
- java:去除数组重复元素的四种方法
- 思科路由器配置enable password
- mockito简要教程
- Sublime的使用小技巧
- 温湿度传感器的学习笔记
- 聚类dbi指数_聚类算法
- 云原生系列技术(四):DevOps技术
热门文章
- Ubuntu系统安装或者与win10/win7共存
- npp夜光数据介绍 viirs_最新 夜光遥感影像VIIRSDMSP下载总结
- dvwa小马上传大马php,集训第六天:文件上传漏洞
- 房内有一只猴子、一个箱子,天花板上挂了一串香荷,其位置关系如图2 33所示,猴子为了拿到 香蕉,它必須把箱子推到香荷下面,然后再爬到箱子上.请定义必要的谓词,写出问题的初始状态(即图 2 33所示的
- java socket 通信协议_java 基于TCP协议的Socket编程和通信
- python拆分excel行_Python将一个Excel拆分为多个Excel
- element 日期选择图标_element-ui 限制日期选择的方法(datepicker)
- Mac在coursera上视频无法播放,长期黑屏
- android 单行文本滚动,android TextView 容纳不下内容,让字向左滚动的办法
- java 枚举获取key_Java枚举根据key获取value