儿童编程python入门


Posted in Python onMay 08, 2018

经常会有小朋友问我,“我想做个黑客,我该学什么编程语言?”,或者有的小朋友会说:“我要学c,我要做病毒”。其实对于这些小朋友而言他们基本都没有接触过编程语言,只是通过影视或者其他地方看到的一些东西认为黑客很酷,超级厉害,因此也萌生了这样的想法。我也认为黑客很厉害,他们不只是会一门编程语言那么简单,要想成为他们那样厉害的人对小朋友来说还有很长的路要走。

而很多小朋友真正想做的就是能通过简单的代码做出很酷炫的东西,能在同学间炫耀一把,那就很满足了。如果你真的想学编程,那么我还是建议python,看到下面这些神奇的代码,也许你会改变自己最初的想法。不是我们觉得C不好(很多人是从c入门而从此心生畏惧,受挫而放弃的),而是python更适合入门,当你通过一段时间的学习,你真的爱上了编程,你可以再去学习c,这样你之前所积累的知识会让你对它有更深刻的理解与认知,毕竟兴趣真的很重要。

如果你能在同学朋友面前秀一下这行代码,我估计他们会用特别崇拜的眼神看你的。

print'\n'.join([''.join([('ChinaLove'[(x-y)%8]if((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3<=0 else' ')for x in range(-30,30)])for y in range(15,-15,-1)])

在python 里执行它,会输出一个字符拼出的心形,是不是很酷啊。

儿童编程python入门

再来一个,虽然你可能不知道这个东西,不过看看结果也是让你很激动的。

有一个著名的图像叫mandelbrot。Mandelbrot图像中的每个位置都对应于公式N=x+y*i中的一个复数,高中学过复数的都还应该有印象。每个位置用参数N来表示,它是x*x+y*y的平方根。如果这个值大于或等于2,则这个数字对应的位置值是 0。如果参数N的值小于2,就把N的值改为N*N-N(N=(x*x-y*y-x)+(2*x*y-y)*i)),并再次测试这个新N值。wiki百科给出的图像是这样的:

儿童编程python入门

让我们用一行代码画一个Mandelbrot:

print'\n'.join([''.join(['*'if abs((lambda a:lambda z,c,n:a(a,z,c,n))(lambda s,z,c,n:z if n==0else s(s,z*z+c,c,n-1))(0,0.02*x+0.05j*y,40))<2 else' 'for x in range(-80,20)])for y in range(-20,20)])

11111

对于随手小工具而言,更是Python的拿手好戏。

一行代码打印九九乘法表:

print '\n'.join([' '.join(['%s*%s=%-2s' % (y,x,x*y) for y in range(1,x+1)]) for x in range(1,10)])

儿童编程python入门

Python 相关文章推荐
Python中实现结构相似的函数调用方法
Mar 10 Python
Python中Iterator迭代器的使用杂谈
Jun 20 Python
Python+Pika+RabbitMQ环境部署及实现工作队列的实例教程
Jun 29 Python
浅谈python中set使用
Jun 30 Python
Python学习小技巧之列表项的推导式与过滤操作
May 20 Python
centos6.4下python3.6.1安装教程
Jul 21 Python
python中yaml配置文件模块的使用详解
Apr 27 Python
对Python3中的print函数以及与python2的对比分析
May 02 Python
Python实现提取XML内容并保存到Excel中的方法
Sep 01 Python
django实现用户注册实例讲解
Oct 30 Python
jupyter notebook 使用过程中python莫名崩溃的原因及解决方式
Apr 10 Python
Python+kivy BoxLayout布局示例代码详解
Dec 28 Python
解决python大批量读写.doc文件的问题
May 08 #Python
python在每个字符后添加空格的实例
May 07 #Python
Pycharm在创建py文件时,自动添加文件头注释的实例
May 07 #Python
python 读取DICOM头文件的实例
May 07 #Python
解决Python requests库编码 socks5代理的问题
May 07 #Python
基于python requests库中的代理实例讲解
May 07 #Python
Python操作Oracle数据库的简单方法和封装类实例
May 07 #Python
You might like
虹吸壶煮咖啡26个注意事项
2021/03/03 冲泡冲煮
杏林同学录(七)
2006/10/09 PHP
php缓存技术详细总结
2013/08/07 PHP
php操作xml
2013/10/27 PHP
PHP抓取、分析国内视频网站的视频信息工具类
2014/04/02 PHP
PHP中的use关键字概述
2014/07/23 PHP
php实现Linux服务器木马排查及加固功能
2014/12/29 PHP
PHP使用内置dir类实现目录遍历删除
2015/03/31 PHP
使用PHP实现下载CSS文件中的图片
2015/12/06 PHP
php封装的连接Mysql类及用法分析
2015/12/10 PHP
PHP获取指定日期是星期几的实现方法
2016/11/30 PHP
JS设置获取cookies的方法
2014/01/26 Javascript
JavaScript实现twitter puddles算法实例
2014/12/06 Javascript
jQuery 判断元素整理汇总
2017/02/28 Javascript
Node.js Stream ondata触发时机与顺序的探索
2019/03/08 Javascript
layer弹出层自适应高度,垂直水平居中的实现
2019/09/16 Javascript
一篇文章带你浅入webpack的DLL优化打包
2020/02/20 Javascript
Python实现列表删除重复元素的三种常用方法分析
2017/11/24 Python
python使用多进程的实例详解
2018/09/19 Python
python 标准差计算的实现(std)
2019/07/29 Python
为什么说Python可以实现所有的算法
2019/10/04 Python
python怎么调用自己的函数
2020/07/01 Python
Python特殊属性property原理及使用方法解析
2020/10/09 Python
html5 canvas手势解锁源码分享
2020/01/07 HTML / CSS
iHerb中文官网:维生素、保健品和健康产品
2018/11/01 全球购物
iostream与iostream.h的区别
2015/01/16 面试题
毕业生自荐信如何写
2014/03/24 职场文书
买卖协议书范本
2014/04/21 职场文书
诚实守信道德模范事迹材料
2014/08/15 职场文书
财政局党的群众路线教育实践活动剖析材料
2014/10/13 职场文书
材料员岗位职责
2015/02/10 职场文书
2015年小学数学教研组工作总结
2015/05/21 职场文书
详解CSS不受控制的position fixed
2021/05/25 HTML / CSS
CSS精灵图的原理与使用方法介绍
2022/03/17 HTML / CSS
Oracle删除归档日志及添加定时任务
2022/06/28 Oracle
Mysql的Table doesn't exist问题及解决
2022/12/24 MySQL