hello,大家好,我是wangzirui32,今天我们来学习如何写一个电脑读心术程序,开始学习吧!

1. 原理介绍

本程序使用的读心术原理为吉普赛读心术,流程如下:

  1. 10~99之间任意挑选一个数
  2. 用这个数先减去它自己的十位数再减去它的个位数
  3. 把结果在一个表中找到对应的字母
  4. 水晶球(电脑)会显示你心里想的那个字母

原理是这样的,10~99之间的数减去个位,再减去十位,一定是9的倍数,如32,减去3再减2是27,然后输出的表中只要把每个9的倍数全部替换为相同的字母,就可以实现100%读出你内心的数了!

2. 编写代码

本程序使用pyttsx3进行语音输出,不了解的同学请跳转到之前的一篇博文学习,代码:

import random
import time
import pyttsx3# 初始化
engine = pyttsx3.init()
# 设置随机数种子为当前时间戳
random.seed(time.time())
# 字母表
words = "qwertyuiopasdfghjklzxcvbnm"
# 随机选择一个字母作为结果
answer_word = random.choice(words)# 输出消息的封装函数
def output_message(message):print(message)engine.say(message)engine.runAndWait()output_message("请你在10~99之间随机选择一个数,给你2秒")
time.sleep(2)
output_message("想好了吗?现在,请将这个数减去个位,再减去十位,并且在下面的列表中找到结果对应的字母,")
output_message("如果找到了,请按回车键继续!")# 输出100个数对应的字母
for i in range(1, 101):if i % 9 == 0:   # 如果为9的倍数# 输出固定字母print("{} 对应 {}".format(i, answer_word))else:print("{} 对应 {}".format(i, random.choice(words)))wait = input("如果找到了,请按回车键继续")
output_message("好了,现在请把这个字母在心中默念3遍。")
time.sleep(2)
output_message("电脑已经知道了你的字母,就是...")
time.sleep(2)
output_message(answer_word)
output_message("对吗?")

3. 玩一玩

我想的数是67,结果如下:

请你在10~99之间随机选择一个数,给你2秒
想好了吗?现在,请将这个数减去个位,再减去十位,并且在下面的列表中找到结果对应的字母,
如果找到了,请按回车键继续!
1 对应 z
2 对应 g
3 对应 y
......
53 对应 i
54 对应 f    # 我的计算结果
55 对应 u
.......
98 对应 l
99 对应 f
100 对应 c
如果找到了,请按回车键继续
好了,现在请把这个字母在心中默念3遍。
电脑已经知道了你的字母,就是...
f
对吗?

结果还真是对的!赶快给你的同事朋友玩一玩吧!


好了,今天的课程就到这里,我是wangzirui32,喜欢的可以点个收藏和关注,我们下次再见!

Python番外篇:电脑读心术程序 快给你的同事朋友玩一玩相关推荐

  1. Python番外篇:网络爬虫组词程序

    今天,双是番外篇,这次番外篇主要教大家如何用网络爬虫查询词语. 1.确定数据源 首先,我们得找一个查询的数据源,我找到了360国学网站,选择"词语大全",它的查询词语网址为: ht ...

  2. Python番外篇:爬取CSDN作者排行榜数据

    今天,又双叒叕是番外篇,我们来爬取CSDN作者排行榜上的数据. 1. 确定数据源 首先,排行榜的网页链接是https://blog.csdn.net/rank/list/total: 打开" ...

  3. 落枕学python—番外篇(1)

    前言 上次写过了两篇啊,那么这次我先缓一缓,先写一个番外,但这不等于些废话,我还是要说一点实质性内容的,废话不多说,咱们先开始哈. 一.Python有什么好? 咱们既然学,就要知道我们为什么要学. 第 ...

  4. Python番外篇:爬取腾讯新闻热点内容 并发送新闻提示电子邮件

    hello,大家好,我是wangzirui32,今天来教大家如何爬取爬取腾讯新闻热点内容,并发送新闻提示电子邮件,开始学习吧! 1. HTML解析 腾讯网的首页为https://www.qq.com, ...

  5. Python番外篇:Flask+segno 实现个人名片二维码在线生成器

    hello,我是wangzirui32,今天来教大家如何Flask框架和segno模块实现个人名片二维码在线生成器. 开始学习吧! 1. 项目架构 image文件夹为空,templates下存储了2个 ...

  6. Python番外篇:教你如何编写一个GIF录屏工具

    hello,大家好,我是wangzirui32,今天我们来学习如何编写一个GIF录屏工具,开始学习吧! 1. 项目准备 我们需要PIL库对屏幕进行截取,使用imageio对截取的图像进行拼接,合成为G ...

  7. Python番外篇:Python代码生成春联 三种版本

    Hello,大家好,我是wangzirui32,今天就是虎年春节了,先祝大家虎虎生威,虎年大吉!愿大家在新的一年里万事如意,心想事成! 文章目录 1. 普通版本 1.1 引入所需模块 1.2 生成春联 ...

  8. 罗永浩“真还传”再出番外篇,被执行1800万,交个朋友回应来了…

    近日,罗永浩再成被执行人,需要偿还18533340元,执行法院为深圳市福田区人民法院,而这个案件是因一起合同纠纷引起的. 早在2019年,罗永浩就公开承认了自己6亿的债务,从此,罗永浩就开始各种&qu ...

  9. python爬虫进程和线程_python爬虫番外篇(一)进程,线程的初步了解-阿里云开发者社区...

    整理这番外篇的原因是希望能够让爬虫的朋友更加理解这块内容,因为爬虫爬取数据可能很简单,但是如何高效持久的爬,利用进程,线程,以及异步IO,其实很多人和我一样,故整理此系列番外篇 一.进程 程序并不能单 ...

最新文章

  1. mdp文件-Chapter1-MINIM.mdp
  2. Spring MVC与表单日期提交的问题
  3. CentOS安装libpcap
  4. Linux中close的用法,linux下 open() write() read() close函数
  5. 百度地图根据经纬度计算瓦片行列号
  6. SpringBoot_配置-@PropertySource、@ImportResource、@Bean
  7. 仓储系统java_Java的最全最细的学习路线图,助你早日斩获心仪的Offer
  8. 《LoadRunner 12七天速成宝典》—第2章2.6节第二个性能测试案例
  9. 4个数字,如何最快找到最小的2个数
  10. 《Reids 设计与实现》第十一章 服务器
  11. 【Flink】使用Flink实现索引数据到Elasticsearch
  12. 关于php变量的赋值和引用的区别
  13. html日期默认,html日期控件默认设置为当天日期
  14. 忍不住笑的笑话(last:20180419)
  15. python输出dat格式_输出dat文件
  16. 各种水龙头拆卸图解_水龙头拆除和安装步骤图解
  17. JS+HTML+CSS模仿微信界面发送信息
  18. wt概述-c++ web
  19. 服务器系统盘大文件检测指令,服务器系统盘大文件检测指令
  20. 程序员:不要自称码农

热门文章

  1. Fluke 1550C、FLUKE 1555高压绝缘电阻测试仪
  2. [Java]Error:No enclosing instance of type E is accessible. Must qualify the allocation with an enclo
  3. php 模拟微信账号登录
  4. vue写一个轮播图实例(没有自动轮播)
  5. java多线程累加计数
  6. java+mysql crm客户关系区块链毕业管理系统设计与论文
  7. android 闹钟不响,为什么我写的Android闹钟到时间时却不会响
  8. Kafka的命令行操作
  9. 淘宝天猫背后,有一个你不知道的神秘组织
  10. Floyd (弗洛伊德)算法简述