学了python,但是又不知道可以用来开发一个计算器?

优采云 发布时间: 2021-06-03 01:26

  学了python,但是又不知道可以用来开发一个计算器?

  我学习了python,但不知道它可以用来做什么。开发计算器?它太低了。开发一个网站?感觉网站涉及的知识点太多,一个人处理不了。别慌,本文介绍一个最近很火的文章自动*敏*感*词*。用python写的,一秒能生成6000字的文章,看起来很时尚。

  

  人工智能写文章

  故事应该从一个论坛开始。一开始,论坛上有一个问题,“学生退学申请6000字怎么写?”。然后,我们被讨厌形式主义的热心网友看到了。然后,还有这个“狗屎但不是文章generator”

  

  论坛有问题

  由于头条上有很多python初学者,我将代码整理一下,写成类的形式供大家学习。好了,废话不多说,让我们开始吧。

  一、环境配置:

  Python 版本:3.6.0

  编辑:pycharm

  ps:每一步都有代码和布局截图,方便学习

  第一步:导入相关python包# encoding:utf-8import randomimport json

  random包用于生成随机数,主要是在生成文章时从指定数据源随机获取句子进行汇编。 json包是一种文本序列化,人性化,方便你修改(打开记事本,可以看到里面的所有内容,就知道了。)

  

  第2步:参数设置类CONF:path = "data.json"#数据路径article_length = 6000#文章字数repeat_rate = 2#句子重复性

  这是个人编程的习惯。我习惯把一些配置,比如文件路径和配置参数,放在一个类中。当然,实际项目开发的时候,是存放在config文件中的,不会直接写在代码里。为了演示方便,写在一起,运行起来也方便。

  

  第三步:一个简单的文件读取工具函数 def read_json(file_name): """ Read json file: param file_name::return:""" with open(file_name,mode='r',encoding ="utf- 8") as file:return json.loads(file.read()) 文件读取在实际工作中经常用到,所以建议写一个工具类,积累起来,每次使用时直接调用,有无需重复。

  

  第四步:初始化模型类class Model: def __init__(self,饱含名气,before,after,bosh,config):self.着名=着名#a代表前面的词,b代表后面的词self .before = before#在名人名言前获取boshself.after = after#在名人名言后获取boshself.bosh = bosh#代表文章main bosh source self.article_length = config.article_lengthself.repeat_rate = config.repeat_rateself.next_bosh = self.__shuffle_for_each(self.bosh)self.next_spiring = self.__shuffle_for_each(self.known) """模型初始化""" @classmethod def initialize(cls, config):#获取数据源data = read_json(config.path)著名 = data["著名"]# a 代表之前的单词,b 代表之前的单词 = data["before"]# 在名言之前获得一分 boshafter = data['after']# 获得一分之后名言 boshbosh = data['bosh']# 代表文章 废话返回cls(著名,之前,之后,bosh,配置)的主要来源。 . . initialize()函数和__init__()函数是对象的初始化和实例化,包括基本参数的赋值、模型的导入、模型的训练、模型的保存,最后返回一个对象给用户。这里作为类的基本操作属于通用模板,可以写在大多数项目中。

  

  第五步:继续完善模型类,添加一些常用的模块类Model:。 . . def __shuffle_for_each(self, data_list): """ shuffle traversal (iterator) """ pool = list(data_list) * self.repeat_rate while True:random.shuffle(pool)for line in pool:yield line def __get_spiring(self, ):""" 一些名人名言"""t_known = next(self.next_spiring)t_spiring = t_饱受赞誉.replace("a", random.choice(self.before))t_spiring = t_饱受赞誉。 choice(self.after))return t_known @staticmethod def __another_section():return ".\r\n "比较难理解的是shuffle遍历函数__shuffle_for_each(),它使用了关键字yield。如果你对yield没有初步的了解,那你先把yield当成“回报”。这是直观的。首先,它是一种回报。普通返回的意思是在程序中返回某个值。 yield 每次返回值都是基于原创状态,可以简单理解为迭代器。

  

  第六步:在model类中添加一个最重要的函数---生成文章def get_article(self, title)的主流程:"""生成一篇文章文章:param title::返回:" "" section_flag = False content = str() 而 len(content)

  

  第七步:调用main函数 if __name__ =='__main__': model = Model.initialize(config=CONF) while True:title = input("请输入正文主题:") if'Exit' == title :breakarticle = model.get_article(title)print(article) 主函数 main() 是你整个程序的起点,它控制着所有的步骤。虽然不需要写main函数,但是为了规范编程,每次写程序都必须写main函数。

  

  好的,让我们运行代码。输入题目:“好好学习”,不到一秒就会生成一个文章。

  前端页面输出:

  

  后端输出:

  

  如果有什么问题想索取源码(其实代码就在上面),可以后台给我发私信回复:python文章generated。我会把源代码发给你。最后,感谢大家的阅读,祝大家工作生活愉快!

  本文链接:

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线