本文目录一览:
- 1、Python实现猜单词游戏
- 2、python怎么提取关键词
- 3、自学Python能学会吗?
- 4、学会Python需要多长时间?
- 5、学Python应该怎么学
- 6、python如何实现提取文本中所有连续的词语
Python实现猜单词游戏
猜单词 游戏 是一种简单的 游戏 ,
计算机从指定单词列表中抽取一个单词,通过算法,把单词的字母顺序打乱,然后输出给玩家猜测。
玩家根据乱序的字母,组合猜测输入正确的单词。计算机确定是否猜测正确。
使用元组或列表构建待猜测的英文单词库列表WORDS,使用random模块的choice函数从单词的元组中随机抽取一个英文单词word。
然后把该英文单词的字母乱序排列
方法:每次随机抽取一个位置的字符放入乱序的jumble字符串中,并从原word中删除该字符
游戏 一开始先显示乱序后的字符串jumble(语义化:混乱),并提示用户输入猜测的结果,如果错误,提示继续输入,直至输入正确。猜对之后,可以询问是否继续 游戏 。 游戏 也可以通过Ctr1+C强制中断运行。
读者也可以扩展程序,例如从文件中读入单词列表,记录 游戏 玩家的得分情况等。
word-guess.py
程序运行结果如下:
python怎么提取关键词
你好, 那个r'.*?('+ lste +').*?‘ 会吧你这个关键字前面和后面的文字都匹配了,所以当你的那个关键字多次出现的时候,就会报那个重复出现的错了。
你直接
hh = re.findall(lste, gg)就可以了呀?
或者是还有什么需要匹配的东西,我看你后面好像要将结果连接起来,但是你匹配出来的都是关键字,直接连接的话,其实就是多个关键字的拼接了。
自学Python能学会吗?
python自学完全没有问题的。
首先,你必须对自己有信心,编写程序其实没有太高的技术含量,你只需要遵守编程语言的语法规范,然后在这个基础上去实现你想要的功能。
买一本靠谱的教材,或者在网上找一些教程,把教材的内容看明白,然后把例子程序输入电脑运行,接着尝试修改一下,看看会有什么变化,把一套根据自身的知识基础和能力特点来选择一个岗位类型,目前采用Python的岗位类型可以分成三大类,分别是算法岗、研发岗和应用开发岗,不同岗位对于知识结构的要求有所不同。
从近几年的人才需求情况来看,开发岗的人才需求量相对大一些,而且对于开发人员的整体要求也并不算高。教材学完之后,你就大概知道怎么样用python语言写程序了。
学会Python需要多长时间?
一周或者一个月。
如果完全靠自己自学,又是从零基础开始学习Python的情况下,按照每个人的学习和理解能力的不同,我认为大致上需要半年到一年半左右的时间。
当然了,Python学习起来还是比较简单的,如果有其他编程语言经验,入门Python还是非常快的,花1-2个月左右的时间学完基础,就可以自己编写一些小的程序练练手了,5-6个月的时间就可以上手做项目了。
从一定程度上来说,一些零基础的初学者想要利用两个月的时间掌握好Python是不太可能的,学习完Python后想要应聘相对应的工作岗位,即便是选择最快的学习方式也是很难实现的,无法快速实现就业。
学Python应该怎么学
1)学好python的第一步,就是马上到
网站上下载一个python版本。我建议初学者,不要下载具有IDE功能的集成开发环境,比如Eclipse插件等。
2)下载完毕后,就可以开始学习了。学习过程中,我建议可以下载一些python的学习文档,比如《dive into python》,《OReilly
- Learning Python》等等。通过学习语法,掌握python中的关键字语法,函数语法,数学表达式等等
3)学完了基本语法后,就可以进行互动式学习了。python具备很好的交互学习模式,对于书本上的例子我们可以通过交互平台进行操练,通过练习加深印象,达到学习掌握的目的。
4)通过以上三个步骤的学习后,我们大致掌握了python的常用方法、关键字用法以及函数语法等。接下去的学习上,我们就可以着手学习常用模块的使用,
比如os,os.path,sys,string模块等。我们可以在交互环境中先熟悉使用其中的函数,如果遇到函数的使用上的问题,可以参考python
安装后的自带chm帮助文件。
5)为了更好得掌握python,我们的学习不能只是停留在学习一些语法或者api阶段。在此阶段中,我们可以
尝试用python解决我们项目中遇到的一
些问题,如果项目不是用python开发的,那我们可以想想能不能用python制作一些项目组可以使用的一些工具(utility),通过这些工具简化
项目组成员的任务,提高我们的工作效率。如果没有项目,我们也可以自己找些题目来自己练习练习。
6)经过以上锻炼后,我们的python知识
水平肯定是越来越高。接下去的学习,我们就要更上一层楼。为了学以致用,真正能应用于项目开发或产品开发,我
们还必须学习企业应用开发中必须要掌握的网络和数据库知识。在此的学习就不光是python语言本身的学习了,如果之前没有学习和掌握很网络和数据库知
识,在此阶段我们可以借此机会补习一把。
7)在此,我想我们对python的使用以及信手拈来了,即使忘了api的用法,我们也可以在短时间
内通过查看文档来使用api。那么接下去,我们要学习
什么呢?那就是设计能力,在学习设计能力的过程中,如果对类等面向对象的概念不清楚的,在此阶段也可以学习或加以巩固
python如何实现提取文本中所有连续的词语
经常需要通过Python代码来提取文本的关键词,用于文本分析。而实际应用中文本量又是大量的数据,如果使用单进程的话,效率会比较低,因此可以考虑使用多进程。
python的多进程只需要使用multiprocessing的模块就行,如果使用大量的进程就可以使用multiprocessing的进程池--Pool,然后不同进程处理时使用apply_async函数进行异步处理即可。
实验测试语料:message.txt中存放的581行文本,一共7M的数据,每行提取100个关键词。
代码如下:
[python] view plain copy
#coding:utf-8
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
from multiprocessing import Pool,Queue,Process
import multiprocessing as mp
import time,random
import os
import codecs
import jieba.analyse
jieba.analyse.set_stop_words("yy_stop_words.txt")
def extract_keyword(input_string):
#print("Do task by process {proc}".format(proc=os.getpid()))
tags = jieba.analyse.extract_tags(input_string, topK=100)
#print("key words:{kw}".format(kw=" ".join(tags)))
return tags
#def parallel_extract_keyword(input_string,out_file):
def parallel_extract_keyword(input_string):
#print("Do task by process {proc}".format(proc=os.getpid()))
tags = jieba.analyse.extract_tags(input_string, topK=100)
#time.sleep(random.random())
#print("key words:{kw}".format(kw=" ".join(tags)))
#o_f = open(out_file,'w')
#o_f.write(" ".join(tags)+"\n")
return tags
if __name__ == "__main__":
data_file = sys.argv[1]
with codecs.open(data_file) as f:
lines = f.readlines()
f.close()
out_put = data_file.split('.')[0] +"_tags.txt"
t0 = time.time()
for line in lines:
parallel_extract_keyword(line)
#parallel_extract_keyword(line,out_put)
#extract_keyword(line)
print("串行处理花费时间{t}".format(t=time.time()-t0))
pool = Pool(processes=int(mp.cpu_count()*0.7))
t1 = time.time()
#for line in lines:
#pool.apply_async(parallel_extract_keyword,(line,out_put))
#保存处理的结果,可以方便输出到文件
res = pool.map(parallel_extract_keyword,lines)
#print("Print keywords:")
#for tag in res:
#print(" ".join(tag))
pool.close()
pool.join()
print("并行处理花费时间{t}s".format(t=time.time()-t1))
运行:
python data_process_by_multiprocess.py message.txt
message.txt是每行是一个文档,共581行,7M的数据
运行时间:
不使用sleep来挂起进程,也就是把time.sleep(random.random())注释掉,运行可以大大节省时间。