APP下载

用Python解奥数“文字游戏”题

2021-08-10陈新龙

电脑报 2021年20期
关键词:效率方法

陈新龙

有这样一道奥数题:好事好+要做好二要做好事。请问,要做好事的值是多少?和我们用笔算更注重逻辑分析不同,编程解决这道题更多的是利用计算机运算速度快的优势,把所有可能都试一遍找到正确的解。

先考虑每个文字的范围,简单认为每个文字的值都是0-9,创建一个列表lisL1存放0-9。

分别用四个字母代替“要做好事”文字,通过循环遍历的方法提取数值然后累加判断是否能够符合题目的要求。答案为0000和1098(如图1)。

当然這种方法也是效率最低的方法,下面我们用f'm这个命令,{‘m是把整数l转换成一个字符串,:( Yld是用o补齐四位。由于“要做好事”四个字的范围在0000-9999,将个位十位百位千位分别赋值给h,s,z,v。通过函数和{‘m的方法可以大大缩短我们的代码数量,提高代码的可读性(如图2)。

这样自定义函数的方法效率也大大提高了,当然我们还可以通过引入Python内部函数来解决问题,通过位数分解加快我们的计算速度,提高解题效率。


登录APP查看全文

猜你喜欢

效率方法
提升朗读教学效率的几点思考
注意实验拓展,提高复习效率
学习方法
效率的价值
用对方法才能瘦
四大方法 教你不再“坐以待病”!
赚钱方法
捕鱼
跟踪导练(一)2
“钱”、“事”脱节效率低