[x for x in set(open("c:\\test.txt").read()) if 19968<=ord(x)<=40869]
使用Python可以实现一句话统计文章里的不重复汉字数,代码如上。
这一句话涉及到Python的许多基本概念,拆解着分析一下。
open("c:\\test.txt").read()
上面一句的样式和其它语言类似,都是打开一个文件,然后读其中的内容。路径的写法也是传统的两个反斜杠,双引号包含。Python里的单引号和双引号没有太多区别,成对使用即可。好处是当原始字符串里含有单引号或者双引号时,使用另一种包含可以省掉转义符,让字符串看起来更直接。当然Python也有不使用转义符的做法,就是在字符串前面加一个字母r,这样字符串里的所有转意字符全部无效,作用类似C#下的@。示例代码如下:
open('c:\\test.txt').read()
open(r'c:\test.txt').read()
open是一个内建命令,带很多参数,除了文件路径需要指定外,别的都有默认值。常用的有mode,指定是读还是写等;encoding,指定文件的编码。
mode可以使用如下表达,并且可以叠加。
Character
Meaning
'r'
open for reading (default)
'w'
open for writing, truncating the file first
'x'
open for exclusive creation, failing if the file already exists
'a'
open for writing, appending to the end of the file if it exists
'b'
binary mode
't'
text mode (default)
'+'
open a disk file for updating (reading and writing)
'U'
universal newlines mode (for backwards compatibility; should not be used in new code)
encoding需要指定,默认为None,实质上是使用系统默认的编码。常见的编码有:utf_8,gbk,ascii等。
示例如下:
open(r'c:\test.txt',mode='rt',encoding='gbk')
接下来看看open读出来的到底是个啥东西。默认为文本,则显示的类型为:,是一个类。使用内建方法type()可以很方便地查看对象的类型。
示例如下:
type(open(r'c:\test.txt',mode='rt',encoding='gbk'))type(1)type(open)type('1')
open好一个文件后,跟着的是一个方法read()。现在可以清楚地看到read其实是TextIOWrapper这个类的一个方法,作用是将文件里的所有字符读成一个字符串。
到现在为止,open+read实现了把文件中所有的字符变成了一个字符串的效果。下面肯定是要筛除其中的重复部分和非汉字部分。对于筛除重复的字符,set()出场了。
set是一个类,简单讲就是一个没有value的字典,里面全是key。这样带来一个效果,set里面不会含有两个一样的数据。当然,扔进去重复的值,出来就不会重了。
示例如下:
set((1,2,2,3,4,5,6,8,333,55,55,6,7,7))
{1, 2, 3, 4, 5, 6, 7, 8, 333, 55}
set("123444lksdjflkajdsf8324u7")
{'8', '1', '3', '2', 'u', '4', '7', 'd', 'k', 'j', 'l', 'a', 's', 'f'}
(1,2,3,4,3)这样的形式在Python中称为tuple,中文称为元祖,简单讲就是不可变的数据集合。把元祖丢到set里,出来的是一个set的集合,重复的被剔掉了。Python里没有char这个概念,只有str,char就是只有一个字符的str。字符串也是集合,自然也可以丢到set里。注意set是散列的,不能保持顺序,不能用在顺序敏感的地方。
提到tuple,顺便说下tuple在Python下的小用法。典型的交换2个数,别的语言差不多都是创建一个swap变量进行。Python里则太简单了,示例如下:
a,b=1,2
(a,b)=(b,a)
歪了,说回来。接下来看整个语句外面的[]。这个东西叫list,和刚才说的tuple类似,但是是可变的,和c#里的arraylist类似,但是功能则更强大。Python提供了内置方法list()来方便地创建和转换列表。以下是list的简单用法:
list((1,2,3)) #return [1, 2, 3]
list('aabc') #return ['a', 'a', 'b', 'c']
L=list(('a','b','c'))
L.append(1) #return ['a','b','c',1]
L.extend((1,2)) #return ['a','b','c',1,1,2]
L.insert(0,100) #return [100,'a','b','c',1,1,2]
L.pop() #return 2
L #return [100,'a','b','c',1,1]
都是很普通的功能,需要注意的一个是pop()的方法。直接使用pop()会返回list的最后一个值,然后更新该list。pop()可以带参数运行,形如pop(index),表示剔除且对应index位的值,然后更新该list。这样就可以实现一些特殊用法,FIFO和FILO。pop()实现FIFO,pop(0)实现FILO。
list最值得说的是列表表达式,许多别的语言要几句话实现的功能,Python一句话就可以搞定,依靠的就是列表表达式。举个最简单的例子,从一堆数里面把奇数挑出来。c#里面依靠list<>和lambda也可以完成,但是Python更灵活,更轻量级。
[x for x in (1,2,3,4,5,6,7) if x%2!=0] #return [1,3,5,7]
首先整个过程是在[]里进行的,最后输出的也是一个list。整个列表是[x],之后紧接着的形如for x in range()的样式,其实和别的语言里的foreach一样,把整个区域里的值循环一遍,每读一个range里的值,就添加到[]里。最后是一个if语句,对每次读出的值做个判断,符合要求的才添加到list里,不符合的抛弃。
列表表达式里的for是可以嵌套的,实现更加复杂的运算,当然还是在一句话里。好,在做相对复杂的演示之前,介绍一个内置方法:range()。
range(5) #return range(0,5)
range(1,2) #return range(1,2)
list(range(5)) #return [0,1,2,3,4]
很简单,下面演示一个打印50内所有的勾股数的列表表达式:
[(x,y,z) for x in range(1,51) for y in range(x,51) for z in range(y,51) if z**2==x**2+y**2]#return [(3, 4, 5), (5, 12, 13), (6, 8, 10), (7, 24, 25), (8, 15, 17), (9, 12, 15), (9, 40, 41), (10, 24, 26), (12, 16, 20), (12, 35, 37), (14, 48, 50), (15, 20, 25), (15, 36, 39), (16, 30, 34), (18, 24, 30), (20, 21, 29), (21, 28, 35), (24, 32, 40), (27, 36, 45), (30, 40, 50)]
好,现在回头看这句话应该非常简单了。
[x for x in set(open("c:\\test.txt").read())]
这个列表表达式就是把test.txt里所有的不重复字符全部加到一个列表里了。目标是获取不重复汉字,那么得找到判断汉字的方法。Python内置了一个方法叫ord(),能将字符转换成unicode的编号。再google下,知道了汉字的区域基本在19968和40869之间。那就搞定了,ord()一下再加一个if就好了。顺便介绍下,Python支持比较直观的比较语法,基本和人类交流语言差不多:
x,y,z=1,2,3x
最终再看一遍扯了一大堆的这句话:
[x for x in set(open("c:\\test.txt").read()) if 19968<=ord(x)<=40869]
这里只是把汉字列出来了,但是还得统计字数,再介绍一个内置方法len()。套到list,tuple啊,字符串上,就能显示长度啦。
这里使用少年天才蒋方舟小学三年级上学期就出版了的第一本书《打开天窗》作为样本,检测一下代码:
[x for x in set(open("c:\\test.txt").read()) if 19968<=ord(x)<=40869]'''['油', '伸', '嘲', '冷', '木', '莫', '庭', '辣', '丢', '榧', '缘', '夜', '吞', '怖', '钉', '圈', '王', '市', '妇', '堆', '读', '防', '楼', '音', '偶', '杨', '扪', '续', '占', '赤', '婚', '眨', '染', '友', '削', '仍', '胁', '心', '政', '宰', '爵', '茫', '鸭', '累', '梦', '笛', '踢', '生', '树', '吉', '不', '老', '词', '弃', '备', '领', '死', '虽', '盲', '牵', '间', '具', '摩', '叠', '跤', '忘', '姜', '巨', '桑', '胖', '里', '赏', '奇', '游', '欺', '格', '放', '露', '琴', '然', '昨', '披', '挪', '讥', '钟', '遥', '蚓', '压', '脖', '拦', '射', '淹', '驰', '其', '早', '晨', '凡', '代', '该', '侃', '摔', '陈', '半', '灌', '济', '所', '练', '费', '论', '失', '阳', '措', '加', '定', '颜', '易', '耗', '唉', '伍', '涎', '愁', '技', '布', '石', '妆', '饱', '卵', '偷', '凶', '扫', '揪', '差', '狠', '恶', '步', '默', '位', '鳄', '姆', '显', '傻', '制', '怪', '茬', '帮', '务', '趣', '伤', '或', '舒', '与', '弄', '宇', '座', '晾', '饰', '僵', '号', '渴', '聪', '狡', '给', '瑞', '惕', '太', '乎', '层', '篇', '婆', '丹', '落', '娱', '状', '审', '弯', '冠', '责', '欧', '宜', '土', '蔓', '撒', '怕', '抖', '厌', '漏', '于', '膀', '龄', '板', '曾', '称', '哲', '灵', '卷', '旨', '脚', '牡', '几', '波', '桥', '回', '柔', '拖', '克', '双', '住', '从', '扁', '边', '永', '施', '箱', '砰', '咳', '甲', '况', '阴', '般', '纯', '造', '财', '两', '龙', '尘', '多', '喝', '合', '亏', '怀', '馅', '迹', '替', '松', '扬', '置', '赢', '警', '忙', '非', '译', '苗', '呈', '牌', '低', '席', '冬', '碰', '爷', '抬', '微', '交', '窜', '队', '搓', '眉', '针', '熊', '持', '庄', '声', '味', '闲', '兵', '直', '叶', '自', '括', '卡', '令', '详', '揖', '哈', '释', '迎', '组', '密', '为', '抽', '喷', '肩', '茨', '墙', '帚', '劝', '熟', '戒', '蚕', '斗', '型', '最', '它', '处', '将', '拽', '右', '牲', '兴', '送', '积', '确', '以', '存', '扒', '旗', '午', '埋', '界', '杀', '根', '许', '人', '愿', '就', '劲', '阵', '男', '推', '末', '欣', '严', '货', '官', '民', '辐', '酱', '选', '看', '掀', '骂', '帅', '崇', '轻', '腿', '山', '即', '痴', '恩', '酷', '壮', '正', '运', '又', '益', '幅', '递', '肿', '脾', '劳', '未', '箭', '搬', '珠', '欢', '账', '香', '娘', '丐', '抓', '枕', '同', '待', '鲇', '任', '腾', '己', '鹰', '止', '黛', '罚', '逼', '烟', '跑', '乐', '荒', '联', '凉', '版', '母', '旁', '魂', '必', '主', '憾', '玲', '枪', '烽', '润', '鲜', '借', '源', '排', '悔', '和', '娃', '缅', '预', '凌', '泼', '史', '拨', '虫', '因', '裤', '高', '浑', '打', '著', '光', '谓', '售', '似', '决', '猴', '阶', '本', '唠', '蠢', '侧', '尚', '原', '云', '怒', '撕', '林', '吊', '蚁', '攀', '堂', '豺', '能', '找', '凳', '却', '择', '缠', '解', '泥', '此', '蹦', '站', '滑', '赐', '勉', '先', '告', '棍', '每', '秃', '活', '傲', '吵', '认', '亦', '鹿', '办', '丑', '朗', '暖', '锋', '绑', '庆', '诏', '拾', '关', '零', '秘', '狞', '居', '细', '治', '贺', '嚷', '怨', '产', '伦', '宙', '功', '暗', '玉', '咋', '极', '悲', '拿', '雷', '恨', '端', '车', '异', '凝', '近', '扔', '啊', '房', '弱', '冲', '电', '滔', '您', '败', '题', '休', '喊', '植', '约', '骄', '歹', '裸', '跺', '承', '影', '陷', '惨', '葫', '饭', '篮', '睡', '思', '衣', '孙', '飘', '懒', '拔', '烈', '忆', '横', '疯', '报', '玛', '刚', '输', '粉', '宋', '梁', '垃', '艺', '份', '印', '干', '头', '毫', '园', '嗯', '若', '绝', '兜', '属', '荐', '乒', '赔', '姑', '踪', '藏', '裁', '采', '丽', '现', '辨', '唯', '鼠', '宠', '斤', '愧', '悦', '猛', '帝', '农', '掐', '袖', '很', '善', '台', '巴', '祷', '壶', '藤', '慧', '剩', '提', '体', '屉', '筋', '敏', '方', '挺', '派', '到', '纳', '鞭', '键', '稠', '接', '疙', '嘘', '力', '成', '气', '师', '要', '言', '厅', '各', '追', '绳', '饶', '歪', '短', '衬', '胧', '博', '停', '糟', '仓', '试', '立', '塌', '见', '改', '贩', '启', '疮', '挥', '撤', '性', '错', '厚', '缝', '脑', '专', '程', '服', '垂', '包', '共', '狰', '平', '浩', '问', '章', '留', '盘', '牛', '廊', '拐', '乓', '街', '终', '哄', '遇', '准', '便', '举', '娶', '骡', '肥', '控', '隙', '甘', '军', '通', '猜', '龟', '脐', '演', '馋', '明', '分', '兰', '究', '滩', '哭', '做', '卜', '腐', '诗', '廉', '始', '操', '柏', '虎', '馆', '肺', '掼', '爱', '冰', '堵', '吭', '眯', '皮', '急', '茧', '芦', '尝', '我', '蠕', '完', '瞄', '虹', '汽', '减', '使', '页', '筷', '目', '散', '捧', '苦', '绞', '扑', '浓', '奋', '磊', '富', '啃', '升', '亿', '被', '管', '厉', '废', '耐', '洒', '且', '璃', '内', '匆', '摸', '仿', '灰', '年', '俩', '闭', '盯', '寡', '敢', '员', '烛', '统', '恐', '屈', '李', '血', '铃', '附', '勇', '总', '达', '家', '垮', '逛', '挑', '氓', '五', '殖', '验', '吃', '喂', '的', '切', '历', '拼', '湿', '米', '已', '维', '穷', '佩', '注', '矮', '董', '既', '静', '仔', '啪', '嫌', '检', '充', '雄', '片', '蔼', '钱', '地', '害', '纵', '离', '辫', '个', '逮', '张', '愤', '鬼', '窝', '甜', '律', '芍', '怎', '理', '惹', '智', '意', '遮', '父', '旧', '矛', '镜', '塞', '材', '拍', '兄', '呆', '吱', '讨', '炮', '挣', '抢', '春', '候', '厘', '喜', '够', '增', '洗', '守', '床', '舍', '脏', '谁', '阅', '揸', '西', '海', '忠', '捣', '拢', '擦', '变', '睛', '祟', '飞', '某', '绊', '才', '胎', '激', '千', '狂', '际', '镇', '哆', '机', '讽', '媳', '破', '污', '享', '伪', '荣', '写', '刘', '宝', '碟', '斑', '誓', '趁', '一', '瓦', '痱', '念', '坛', '班', '兮', '换', '查', '四', '坚', '食', '神', '赖', '揍', '勃', '哇', '商', '唱', '稳', '纠', '探', '嘛', '妞', '蔑', '津', '谗', '羊', '洁', '困', '灯', '扣', '来', '筝', '瓜', '救', '何', '汗', '奉', '流', '什', '剃', '参', '抹', '脸', '醒', '访', '皱', '唰', '德', '环', '刮', '素', '挤', '额', '暑', '世', '尊', '掏', '苹', '并', '汪', '热', '转', '可', '痛', '如', '察', '法', '身', '俗', '乖', '嫉', '祈', '描', '扎', '仁', '铅', '陆', '船', '攻', '栽', '嘱', '鸡', '愣', '众', '妈', '聊', '耍', '丁', '震', '隆', '批', '女', '彷', '泪', '书', '狮', '牙', '竞', '虑', '棒', '汕', '比', '他', '糊', '捏', '元', '烂', '盆', '昼', '款', '康', '让', '坡', '沫', '洪', '犯', '朦', '咛', '椒', '涕', '安', '希', '皇', '圆', '瑰', '壳', '驴', '表', '浪', '蹬', '慢', '日', '竟', '仗', '病', '设', '京', '护', '草', '实', '嬉', '戏', '莎', '逃', '锅', '胸', '曼', '课', '豫', '跪', '六', '们', '副', '叮', '祝', '真', '村', '角', '等', '屋', '彪', '畅', '缸', '礼', '玻', '耶', '在', '玫', '爪', '涯', '股', '沙', '优', '搞', '月', '较', '寻', '空', '国', '饼', '柳', '整', '哩', '叫', '剪', '公', '路', '胡', '幢', '童', '毛', '曝', '子', '绍', '慌', '屎', '郁', '促', '资', '记', '吩', '猫', '努', '中', '熬', '贯', '红', '娥', '大', '导', '撞', '盾', '把', '珍', '白', '锐', '长', '链', '遵', '曲', '惶', '卫', '蹭', '还', '塑', '盒', '常', '唾', '阻', '猪', '尤', '碧', '补', '嚓', '厕', '由', '而', '刀', '漂', '幸', '帽', '器', '形', '乘', '科', '青', '瓶', '忍', '仃', '诅', '纸', '疾', '甩', '别', '抠', '鸣', '鲤', '朝', '袜', '匕', '咔', '逗', '小', '七', '标', '覆', '寺', '雨', '只', '顶', '付', '单', '遗', '手', '菊', '背', '泄', '视', '纹', '妻', '笼', '瘾', '获', '用', '侯', '骑', '餐', '梅', '移', '顺', '矿', '百', '蝴', '嘴', '仙', '蓝', '嗓', '受', '求', '装', '难', '樱', '登', '瘩', '邪', '伯', '亮', '群', '萝', '期', '咒', '北', '掌', '式', '爆', '命', '族', '图', '险', '门', '八', '软', '嫦', '淘', '棚', '束', '姐', '南', '惊', '净', '歇', '示', '喽', '圾', '爬', '索', '贾', '化', '躲', '鼎', '晴', '矩', '周', '烫', '潮', '握', '姥', '学', '这', '楚', '狗', '卖', '经', '弹', '阿', '罕', '暴', '户', '购', '犬', '港', '侮', '挡', '肠', '伙', '星', '笑', '吓', '隔', '列', '有', '膊', '美', '邀', '调', '涂', '椅', '掰', '须', '敲', '涅', '更', '哨', '火', '独', '修', '捡', '惠', '奥', '余', '痒', '取', '恋', '鹏', '十', '识', '倾', '轮', '垫', '唬', '宣', '辛', '业', '芝', '澈', '划', '疗', '悉', '窍', '福', '需', '武', '溅', '翻', '灾', '轰', '色', '矫', '巧', '裙', '进', '齐', '兔', '敌', '品', '着', '仅', '襄', '豆', '鼻', '儿', '昵', '厨', '紧', '亚', '感', '少', '徐', '朋', '蚊', '稍', '夏', '清', '项', '寸', '彻', '建', '致', '叨', '雪', '森', '季', '佛', '滚', '屑', '奏', '风', '久', '规', '妹', '麻', '缺', '尼', '丰', '芳', '收', '训', '听', '梯', '映', '堤', '些', '会', '帐', '途', '钗', '箍', '萌', '械', '辅', '鱼', '深', '买', '语', '刷', '橘', '适', '哗', '镖', '蛋', '贱', '戳', '莲', '朵', '动', '瞪', '咬', '客', '弥', '丛', '挝', '吗', '遭', '她', '幻', '避', '仰', '艳', '啥', '时', '左', '嘟', '呗', '雀', '汇', '夸', '尺', '助', '袭', '鸦', '霉', '肝', '舞', '倒', '销', '竹', '祸', '都', '走', '至', '全', '睬', '误', '孤', '作', '黑', '拉', '慈', '摊', '雁', '桂', '过', '育', '魔', '利', '咪', '湖', '室', '度', '洛', '炒', '砍', '喀', '谅', '了', '乱', '围', '物', '哪', '无', '怜', '赛', '远', '损', '叔', '块', '盖', '筏', '评', '潇', '容', '砸', '势', '猾', '戴', '尔', '玩', '荡', '颗', '级', '东', '掉', '蒋', '超', '漆', '对', '系', '幼', '胳', '蝶', '番', '工', '继', '泛', '赚', '捞', '酒', '想', '盗', '揉', '种', '呀', '仇', '但', '耳', '架', '含', '议', '蜡', '婶', '溜', '舟', '冒', '聋', '按', '复', '省', '概', '万', '辆', '类', '兽', '泰', '部', '鑫', '闪', '条', '奶', '网', '道', '噗', '黄', '捉', '睁', '哀', '桃', '观', '霸', '去', '刺', '纽', '尾', '澳', '串', '贴', '岩', '宫', '斯', '欠', '锤', '蒙', '戚', '趟', '砖', '沉', '残', '樊', '后', '牺', '兼', '蹲', '桶', '旯', '保', '院', '啤', '跟', '泉', '凑', '担', '吹', '医', '鸽', '精', '毕', '亲', '趴', '支', '撮', '校', '圣', '祖', '疤', '邦', '抚', '丝', '负', '蹈', '瀑', '鼓', '辈', '码', '简', '蚂', '行', '勺', '幽', '供', '督', '团', '照', '烦', '九', '当', '绒', '套', '汉', '降', '哎', '灭', '权', '胆', '瘸', '区', '值', '段', '水', '料', '肉', '抛', '依', '洞', '库', '箕', '鞋', '碗', '外', '丈', '禁', '稀', '蜂', '脆', '闹', '忽', '诵', '硬', '奸', '带', '面', '句', '烧', '招', '违', '赞', '金', '结', '归', '奖', '么', '桌', '私', '杂', '摄', '刻', '炼', '尿', '脱', '样', '罗', '妖', '相', '巾', '衷', '旮', '教', '惜', '江', '狐', '晃', '集', '蓄', '甸', '债', '粽', '羿', '耸', '花', '足', '伴', '堪', '播', '第', '枯', '首', '滥', '算', '争', '突', '搂', '畸', '击', '英', '慰', '跳', '棵', '请', '绩', '纷', '普', '楠', '呢', '蛙', '迟', '乞', '磕', '响', '歌', '嫁', '情', '尽', '咦', '夫', '搭', '术', '模', '锣', '钢', '肚', '伟', '三', '消', '名', '威', '者', '指', '养', '齿', '铁', '杯', '蛮', '橡', '健', '卧', '菜', '翔', '字', '竖', '义', '坏', '秀', '吸', '邻', '线', '河', '临', '躺', '断', '蚯', '计', '愚', '伞', '窗', '辉', '谈', '袋', '随', '培', '僻', '绿', '恰', '泳', '退', '士', '马', '诡', '瓣', '除', '距', '发', '棋', '霆', '捆', '液', '讶', '缩', '是', '次', '贝', '辞', '应', '栋', '瞎', '出', '狼', '广', '惰', '滴', '婴', '彩', '填', '入', '剧', '另', '拜', '也', '连', '假', '城', '扇', '点', '芭', '没', '传', '否', '底', '尖', '抱', '例', '上', '岁', '开', '坦', '文', '骗', '啼', '姿', '顾', '杰', '快', '泡', '你', '口', '呦', '晚', '坐', '奔', '量', '摆', '稽', '疼', '贷', '纪', '侠', '唧', '钦', '望', '斜', '向', '涌', '往', '范', '节', '司', '饿', '葱', '起', '扭', '象', '银', '凤', '哦', '幕', '委', '糖', '诈', '今', '前', '郎', '屁', '爸', '场', '宽', '吼', '社', '欲', '拥', '宗', '肯', '劣', '战', '疑', '研', '粗', '事', '挂', '呼', '赶', '罪', '惯', '腮', '淡', '习', '知', '哧', '啦', '托', '话', '筒', '觉', '介', '反', '像', '俐', '捂', '躬', '嘻', '讲', '天', '骨', '循', '怯', '吧', '折', '蒜', '隐', '引', '下', '貌', '透', '腰', '掂', '悄', '狸', '噻', '基', '哼', '顿', '曰', '诲', '息', '驶', '嗦', '鹅', '录', '之', '俊', '偏', '摇', '犹', '馒', '眼', '蚱', '强', '逢', '瞧', '薛', '唐', '笔', '得', '谊', '傍', '酸', '闻', '寿', '驾', '数', '迷', '票', '惭', '扮', '满', '哥', '监', '姓', '糕', '答', '志', '擅', '画', '新', '紫', '果', '秋', '洋', '倍', '特', '妙', '说', '件', '姨', '药', '古', '柜', '彗', '遍', '协', '狎', '球', '钻', '良', '梳', '伶', '芯', '澡', '那', '判', '吐', '店', '编', '再', '猎', '征', '叹', '签', '柱', '践', '价', '轶', '孔', '臭', '拯', '据', '信', '池', '睦', '聘', '诉', '案', '重', '乌', '华', '翁', '局', '旅', '蛇', '炸', '吻', '稿', '宾', '朱', '贵', '墨', '咐', '妒', '谋', '越', '二', '配', '考', '抄', '好', '盼', '穿', '赵', '孩', '磨', '扯', '略', '臂', '弟', '坑', '歉', '免', '懂', '故']'''
再看下字数:
len([x for x in set(open("c:\\test.txt").read()) if 19968<=ord(x)<=40869])2011
这里可以看出,如果你家娃在上三年级的时候还不能认识这2011个字,更不要说熟练运用,更遑论被if过滤掉的英文单词、数字和标点符号,你家娃铁定是没希望成为天才了。做你的苦逼码农去吧!