关于百万英雄

前不久被女票介绍过来这个活动,需要下载西瓜视频APP(现在好像今日头条全系产品都支持了)。这个活动是现在很火的答题分钱模式,只要答对12题就能和所有获胜者一起平分奖金。

最开始遇到不会的问题我是用了百度的简单搜索APP,可以语音输入,识别比较准确,而且出结果也比较快。但是我在使用的过程中遇到了一些问题:

– 只有一部手机的话,“听到题目 -> 打开简单搜索 -> 回到西瓜视频选择选项”这一套操作是肯定来不及的。

– 对于一些问题,搜索的首页未必能一眼看到结果,而且时间又不允许我慢慢找。

所以我就萌生了开发这个辅助程序的想法。

项目其实已经开发完成,已经上传到Github,欢迎提意见:

MillionareHero

整体思路

想要自动作答题目,流程肯定是“获取题目和选项 -> 获取结果 -> 展示结果”。所以我们要思考开发流程每个步骤的大致方案,和每个方案的可行性。

获取题目和选项

有两种方式。

第一种是抓包,从包中解析内容。但是我也没什么抓包的经验(只在微信出红包照片的时候抓过),而且一天就直播那么几次,都不够我从头学起&测试的。

第二种是截图,然后OCR。这种方式肯定要比第一种慢一些,准确率也没有第一种高。然而第一种我不会,我还能怎么办呢。

获取结果

这个可以说是肥肠重要了。如何才能尽量保证覆盖多种题型,并且让正确率还过得去呢?直接搜索问题,在搜索结果中查看出现了哪个选项肯定是不够靠谱的。而且要控制搜索的条数,不然超时了就凉了。我们要考虑到众多可能的情况,并给出综合的解决方案,最好能够把每个选项打个分数,根据分数判断谁是最后的推荐答案。

展示结果

我个人习惯调试程序时在控制台打很多log,如果结果混杂在一堆log里自己看也不好看,一点也凸显不出结果的重要性。怎么能让人一眼看出来“这个就是结果”呢?

把结果打印100遍。

会显得自己很有病。

我想到了之前用过itchat这个库,可以简单地制作一个个人号的微信机器人。如果用这个库直接把结果发到微信里,岂不是美滋滋?还可以顺带发给一起玩的家人朋友什么的,可以说是肥肠棒了。

开始开发

最终我决定先从“获取结果”这一步开发,然后再做获取题目和选项的部分,最后开发“展示结果”的部分。

为什么是这样的顺序呢?

我用的是百度的文字识别API,每日使用次数是有上限的。想要在开发过程中不浪费次数,并且不至于老是自动发微信好像骚扰一样,就只好是上面的顺序了。

如何用python写一个答题程序_如何使用Python写一个百万英雄的答题辅助程序 (0) 简介...相关推荐

  1. 百万英雄类答题游戏的程序员打开方式

    最近知识答题类的app应用和网站  都很火  所以机器人多了,,百度度秘.搜狗小汪等 Python发挥了很大作用 <百万英雄><冲顶大会><头脑王者><一站到 ...

  2. python斗地主游戏源码_我用tkinter写的一个斗地主练习复盘python程序

    python写的斗地主模拟器使用说明,以及python的标准控件库tkinter的使用示例. http://vdisk.weibo.com/s/C5R1f8s9EVq2y 我用python写的一个斗地 ...

  3. python自动化脚本编写教程_开发工具pycharm写第一个Python自动化程序案例|python基础教程|python入门|python教程...

    https://www.xin3721.com/eschool/pythonxin3721/ 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. ...

  4. python开发影视exe程序_搜片大师,一个不需要编程就能拥有百万影视站点的搜片神器,Python编写,Windows版界面...

    这个世界太疯狂了,来北京好几个月了,都还没找到工作.俗话说,一天不编程,连hello world都写不出来.在这个"焦虑"的最后一个月,差不多每天吃馒头加山泉水,差点流落街头.可以 ...

  5. 如何用python编写程序_如何进行Python程序的编写

    一.使用Python自身提供的交互式解释器 在Linux.Windows.Mac OS的命令行窗口或Shell窗口,执行python命令,启动Python交互式解释器.交互式解释器会等待用户输入Pyt ...

  6. python游戏小项目简单_[简单学Python] 通过一个小游戏完成Python入门[2]变量和赋值...

    变量和赋值 到这里,你已经成功地打印出了千寻的名字和卖身契.与此同时,千寻也成为了汤婆婆的工人,渐渐地,她忘记了自己是谁,遗失了自己"姓名"的信息. 那么,在信息纷繁的代码世界里, ...

  7. python怎么开发安卓程序_怎样用python开发安卓app-到底如何使用Python开发Android程序.txt...

    Python是一种动态语言,是比较简单的. Android不直接支持使用Python开发的应用程序,它需要使用它的中间件或数据库.它提供了在Android平台上的Python语言的支持; Python ...

  8. python从random生成列表_详解Python利用random生成一个列表内的随机数

    详解Python利用random生成一个列表内的随机数 首先,需要导入random模块: import random 随机取1-33之间的1个随机数,可能重复: random.choice(range ...

  9. python虚拟机直接加载字节码运行程序_第二章 python如何运行程序

    一.python解释器介绍 Python解释器是一种让程序运行起来的程序.实际上,解释器是代码与机器的计算机硬件之间的软件逻辑层. 当Python包安装在机器上后,它包含了一些最小化的组件:一个解释器 ...

最新文章

  1. 斯坦福被炮轰:用算法分配5000支新冠疫苗,医护人员只有7支
  2. Python input()
  3. python每日一练名片管理程序_Python每日一练0022
  4. leetcode202. 快乐数
  5. 使用Curator和ZooKeeper发现Hazelcast成员
  6. java监听数据库操作_第十六篇——JDBC操作数据库之监听器
  7. Revit二次开发示例:HelloRevit
  8. BAPI:KBPP_EXTERN_UPDATE_CO, TCODE:CJ30/CJ40 第二部分
  9. python的抽象类详解_第7.19节 Python中的抽象类详解:abstractmethod、abc与真实子类...
  10. Python爬虫之(六)requests库的用法
  11. linux终端下载vscode,Ubuntu:安装vscode
  12. java如何逆向工程_总结一下java如何进行逆向工程
  13. 各种泵的图形符号_水泵cad画法
  14. Promethus(普罗米修斯)监控
  15. 简明扼要阐述synchronized和lock的区别
  16. SSD固态硬盘优化设置图文教程
  17. Java小白常见异常|ArithmeticException算数异常的解决过程
  18. 从代码层面分析STM32 标准库和HAL库的差异
  19. 微服务的4个设计原则和19个解决方案 1
  20. K8S太火了!花10分钟玩转它不香么?

热门文章

  1. 小孩子有没有学机器人编程的必要
  2. 【Vue基础】关于Vue中CSS的scoped属性作用域与样式穿透
  3. 实验名称:华为基本ACL 2000配置
  4. PostgreSQL 14 版本发布,快来看看有哪些新特性!
  5. Sql 双重否定的随笔
  6. 农夫养牛问题怎么用java实现,经典的农夫养牛问题(Java实现)
  7. MCE公司:新突破——癌症治疗耐药性问题有望彻底解决
  8. 开源课设-宠物诊所管理系统
  9. 华为任正非:管理的灰度
  10. 基于百度地图API在AI Studio上的卫星地图块图像处理与分类