打印dataframe的前十行_小学生之十行Python解高思五星题(一)
自己工作用Python,也想找机会让自己儿子入门下编程。在陪娃鸡了一段时间奥数后,我觉得Python可以用来解一些小学生奥数题,在儿子身上实践后发现挺适合小学生的理解能力,打算写几篇文章无私分享下,如果对其他小朋友有一点点用也是非常高兴了。
那为什么要跟高思五星题过不去?从小数学棒棒的我都觉得高思五星太难,正常的小朋友靠脑力是做不来的,所以就作为目标让计算机来攻克吧。
准备
推荐Jupyter Notebook,不清楚如何安装的自行百度,也可以使用Python3.6自带的IDE开发。随便找一本python书,就入门而言随便什么教材都是OK的。先看完前几章即可,不用去看复杂的图形和多媒体操作等章节。
那什么题目适合编程实现?首先要让孩子知道电脑的优势是死算,可以化繁为简地解决问题。也有部分题目需要先运用数学知识先行一步,再发挥电脑的运算优势。不管是哪一类题目,我挑选题目的原则是十行代码搞定,不让冗长的步骤使小朋友感到恐惧。每题学会一个新的知识点,循序渐进。
适合谁?有奥数基础,对编程感兴趣的孩子
【五年级高思第10讲超越篇第7题】a,b,c是三个互不相同的自然数,且满足abc X bca=7bc X cba,求三位数abc
书后的解题步骤需要了解同模之类的知识才能读懂,对我家这样没有经过几奥洗礼的小学生来说是太难了,但这样的题目交给计算机是不难的。只要设a,b,c三个变量,让他们循环组合成不同的组合,然后用if语句验证是否满足题目的等式即可。小朋友在学过if和for语法后即可自行完成,非常有成就感的。
for a in range(1,10):
for b in range(1,10):
for c in range(1,10):
if a!=b and a!=c and b!=c:
if(a*100+b*10+c)*(b*100+c*10+a)==(700+b*10+c)*(c*100+b*10+a):
print(a,b,c)
答案是:495
对于熟悉Python的读者一定会说这样的写法还不够完美,对小朋友来说能写到这个程度已经达到要求了。
【知识点】for循环,if判断,嵌套
【五年级高思第10讲超越篇第8题】已知算式abc x bca x cab = 234235286,其中a>b>c,后来发现右边的乘积的数字顺序出现错误,但是知道个位数的6是正确的,那么原式中的abc是多少?
我也是看了答案才知道怎么解,要求一个小学生拥有这么清晰的思路,实在太为难孩子了。和上一题方法完全一致,但更进一步的地方是需要自己再创造两个条件。虽说顺序发生错误,但不管怎么排序也就那么些数字,这个数不会小于200000000,也不会大于900000000。另外需要学会的新语法是求余数的“%”。
for a in range(1,10):
for b in range(1,10):
for c in range(1,10):
if a>b and b>c and (a*b*c-6)%10==0
and (a*100+b*10+c)*(b*100+c*10+a)*(c*100+a*10+b)>200000000
and (a*100+b*10+c)*(b*100+c*10+a)*(c*100+a*10+b)<900000000:
print(a,b,c,(a*100+b*10+c)*(b*100+c*10+a)*(c*100+a*10+b))
程序会打印出以下答案,肉眼看下就知道第三个是本题的答案
8 7 6 462191616
9 6 4 310315456
9 8 3 328245326
【知识点】求余数,隐藏条件解读
【五年级高思第10讲兴趣篇第4题】如图4个小三角形的顶点处有6个小圆圈,在这些圆圈中分别填上6个质数(可以重复),使得他们的和是20,而且每个小三角形3个顶点上的数之和相等,请问:这6个质数的乘积是多少?
这道题不是5星题,但适合介绍新的编程知识点“List”。前面的题目中的循环比较简单,这里的循环对象是“质数”,所以需要人为创造一个“List”作为循环取数的“池子”。“List”是非常重要的概念,在实际工作中还会使用到多维的dataframe,因此先把一维的List掌握好是非常重要的。以下是小朋友写的:
hi=[2,3,5,7,11,13]
for a1 in hi:
for a2 in hi:
for a3 in hi:
for a4 in hi:
for a5 in hi:
for a6 in hi:
if a1+a2+a3+a4+a5+a6==20 and a1+a2+a3==a2+a4+a5 and
a2+a4+a5==a2+a3+a5 and a2+a3+a5==a3+a5+a6:
print(a1*a2*a3*a4*a5*a6)
答案是900,是对的,但不够好。在我们熟悉了for循环的使用方法后,如果遇到这类嵌套多层的for循环时,其实有更简洁的编码方式,再者要有好的编写习惯,比如可以用mylist去定义质数的数列,而不是用hi,另外每个小三角形要先计算好,以后遇到更复杂的编码时可以方便的重用这些计算结果。参考代码如下:
mylist = [2,3,5,7,11,13,17]
for i1,i2,i3,i4,i5,i6 in ((x1,x2,x3,x4,x5,x6) for x1 in mylist for x2 in mylist for x3 in mylist for x4 in mylist for x5 in mylist for x6 in mylist):
triangle_1 = i1 + i2 + i3
triangle_2 = i2 + i4 + i5
triangle_3 = i2 + i3 + i5
triangle_4 = i3 + i5 + i6
total = i1 + i2 + i3 + i4 + i5 + i6
if total == 20 and triangle_1 == triangle_2 and triangle_1 == triangle_3 and triangle_1 == triangle_4:
print(i1,i2,i3,i4,i5,i6,' ',i1*i2*i3*i4*i5*i6)
【知识点】List对象,高级for循环方法
这三题不难,儿子和他的一位小伙伴都可以很顺利的完成,让我感觉到写程序其实对小朋友也不是一件遥不可及的事情。也不需要用那些图形化的所谓儿童编程来做过渡。如果学业压力不大可以天天练习的话,估计一年下来就可以学成上班了,哈哈,想多了,好久不写东西了,今天先写到这里吧。
打印dataframe的前十行_小学生之十行Python解高思五星题(一)相关推荐
- 适合小学生python的书_小学生开始学Python,最接近AI的编程语言:安利一波Python书单...
原标题:小学生开始学Python,最接近AI的编程语言:安利一波Python书单 AlphaGo 都在使用的 Python 语言,是最接近 AI 的编程语言. 教育部考试中心近日发布了"关于 ...
- 小学生python编程写游戏_小学生开始学Python,开发AI的首选编程语言:推荐一波Python书单...
AlphaGo 都在使用的 Python 语言,是最接近 AI 的编程语言. 教育部考试中心近日发布了"关于全国计算机等级(NCRE)体系调整"的通知,决定自2018年3月起,在全 ...
- windows下运行python打印有颜色的字_在windows下Python打印彩色字体的方法
本文讲述了Python在windows下打印彩色字体的方法.分享给大家供大家参考,具体如下: ##################################################### ...
- python36块砖36人搬算法_剑指offer python实现 66道算法题
所有题目均采用牛客网在线编程实现,代码均在github上. 数组 题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组 ...
- python解初中题_用python解一道数独小题
个人的第一篇博文,还请多多支持,不当之处,还请多多指教.(以后有精力还会写更多的文章) 本人是一名大一狗,目前为止学了半年python,对python也就有一点点的了解,没事爱编写一些小程序玩,不过都 ...
- 大数据python试卷_大数据起步--Python语言-中国大学mooc-试题题目及答案
中档饭店清扫房间定额一般为().A.1416间/人B.1214间/人C.1012间/人D.810间/人 一般情况下,能发生瓦斯爆炸的最低氧气浓度为()A.8%B.12%C.20%D.18% P ...
- python高阶函数、map reduce 自己如何去定义_小猿圈python之高阶函数lambda、map和reduce用法...
python有很多内置函数,内置函数封装了很多功能,让我们用起来很方便,小猿圈针对高阶函数有详细的讲解视频,朋友们可以去看看,小编学后总结了一下,下面说一下lambda.map和reduce高阶函数的 ...
- 同花顺选股python开发_量化之路-python绘图-高仿同花顺绘制股票K线图+均线+成交量+MACD+KDJ(附代码)...
上一期介绍了k线图的简单绘制,可以实现股票趋势的查看分析 本期介绍一种用python matplotlib实现高仿同花顺界面的绘图方法 一.话不多说上效果图(还是以601011宝泰隆为例哈^^) 二. ...
- python交互式程序设计导论第二周_沧州学堂云Python 交互式程序设计导论搜题公众号...
关注公众号[帅搜]即可免费查询 网站:xuanxiu365(网址速记:选修365) 支持:大学网课,智慧树,知到,超星,,,选修课,,外语类,财会类,建筑类,职业资格,考试,类,外贸类,计算机类等考试 ...
最新文章
- 热点推荐:秒杀系统架构分析与实战--转载
- 创建Silverlight 1.0 開發環境
- 12行代码AC_Leecode 495. 提莫攻击——Leecode每日一题系列
- 按键精灵Q语言-怎么使用自定义函数返回值
- apache配置文件详解
- 大数据背景下的互联网金融应用领域
- VMware12部署windows xp虚拟机
- 【Luogu1345】周游加拿大(动态规划)
- PHP如何使用换行符?(代码示例)
- 双眼融合训练一个月_视觉融合功能的四种训练方法
- css shine_什么是Shine Enterprise Java模式?
- android日历控件使用,Android学习教程之日历控件使用(7)
- 申城常用电话(必看)(转)
- 逆向脱壳-fsg手动脱壳
- cocos 躲避球游戏(2) --资源导入和碰撞检测
- Xposed 插件开发之二: Xposed的一些知识
- 发布两款超1级能效空调 再次腰斩行业价 苏宁小Biu点燃空调市场
- NE555时基电路实验(二)NE555控制LED闪烁
- Vision Transformer 必读系列之图像分类综述(二): Attention-based
- Hadoop MapReduce 统计汽车销售信息