
趣学编程(Python)
文章平均质量分 54
游戏、趣味程序开发学Python
跟童老师学编程
浙江大学计算机博士、河海大学计算机系副教
展开
-
给Python初学者的入门课程建议
随着编程学习热潮在2021年的持续,越来越多的编程初学者会将Python语言列入学习规划。而在学习过程中,也常常会产生一些困惑与误区,导致学习效率与学习效果的低下。因此本篇文章将给予大家一些学习方法方面的建议。一、 为什么建议学Python?对比其他主流编程语言,Python本身比较容易上手,且功能强大。 除了爬虫、自动化办公、数据分析、数据可视化之外,Python还涉及到人工智能、游戏开发、网站...原创 2021-02-26 19:05:04 · 482 阅读 · 0 评论 -
用Python绘错觉图片2:消失的圆圈
准备在《儿童画报·KITTEN》杂志写一个系列教程,利用Python生成各种趣味错觉图片。这些案例可以作为少儿编程、成人学习编程的很有意思的案例,也可以了解一些错觉心理学的原理。这张图片中有9个灰色圆圈。然而,当你盯着画面正中间的灰色圆圈时,其他灰色圆圈仿佛都消失了,变成了白色圆圈。距离这张图片30厘米左右,挡住左眼,仅用右眼观察。视线从数字1开始慢慢移向数字7,你会发现看到中间的某一个数字时,右...原创 2021-02-23 10:34:29 · 512 阅读 · 0 评论 -
用Python绘错觉图片1:闪烁的黑点
准备在《儿童画报·KITTEN》杂志写一个系列教程,利用Python生成各种趣味错觉图片。这些案例可以作为少儿编程、成人学习编程的很有意思的案例,也可以了解一些错觉心理学的原理。以下给出了杂志中的教程,杂志网页也可以看到相应的视频教程(图片放二维码会被屏蔽,因此涂改掉了)。《儿童画报KITTEN》杂志简介:中国孩子的掌上百科博物馆。每月23日双刊齐发,包含课外科普杂志《儿童画报KITTEN》以及幼...原创 2021-02-01 21:17:23 · 961 阅读 · 0 评论 -
《Python趣味创意编程》新书上架了
《Python趣味创意编程》新书上架,目前京东、淘宝、当当上搜书名就可以找到,比如:【官方旗舰店】Python趣味创意编程 零基础入门自学python编程从入门到精通少儿编程入门教程语言程序设计基础数据分析学习手册出版社图书页面,可以下载相关的代码、图片音乐素材:https://www.epubit.com/bookDetails?id=UBbf16e3464c71下载Processing、配置P...原创 2021-01-16 13:29:23 · 353 阅读 · 0 评论 -
《Python游戏趣味编程》 第13章 趣味图像生成
图书简介可以看这里:童晶:《Python游戏趣味编程》新书上架了本章我们将学习Python的第三方图像处理库Pillow,编写代码生成一些趣味图像,效果如图13-1所示。首先学习图像文件的打开与显示、图像的剪裁与保存;接着学习图像的复制与粘贴、像素颜色的读写;最后实现随机互动的风格图片生成。本章案例最终代码一共70行,代码参看:配套资源\第13章\13-5-3.py,视频效果参看:配套资源\第13...原创 2021-01-16 12:51:37 · 511 阅读 · 0 评论 -
《Python游戏趣味编程》第12章 坚持一百秒
图书简介可以看这里:童晶:《Python游戏趣味编程》新书上架了本章我们将编写一个坚持一百秒的游戏,玩家通过鼠标控制飞机躲避飞舞的小球,效果如图12-1所示。首先学习面向对象编程的知识,利用类和对象实现一个新版本的小球反弹程序;然后实现飞机控制与失败判定、生命显示、游戏音效等功能;最后学习继承的概念,快速添加一种新的智能小球。本章案例最终代码一共99行,代码参看:配套资源\第12章\12-4.py...原创 2021-01-16 12:51:17 · 1130 阅读 · 0 评论 -
《Python游戏趣味编程》 第11章 消灭星星
图书简介可以看这里:童晶:《Python游戏趣味编程》新书上架了消灭星星是一款非常容易上瘾的消除类游戏,只需点击一个方块,如果和其连接的有两个或两个以上颜色相同的方块即可消除,游戏得分即为消除的方块数,如图11-1所示。首先利用二维数组存储所有小方块的信息并显示;然后实现鼠标点击小方块、连通方块序号的获取;接着实现方块消除及位置更新、得分的计算与显示。本章案例最终代码一共98行,代码参看:配套资源...原创 2021-01-16 12:50:33 · 1206 阅读 · 0 评论 -
《Python游戏趣味编程》 第10章 拼图游戏
图书简介可以看这里:童晶:《Python游戏趣味编程》新书上架了本章我们将编写一个拼图游戏,鼠标先后点击两个小拼图块,交换其坐标,直到全部达到正确位置,效果如图10-1所示。首先利用列表存储所有小拼图块的位置并显示;然后实现两个小拼图块的位置交换、实现鼠标点击的判断;接着实现游戏胜利判断、增加提示信息;最后实现游戏计时与最佳记录的存档。本章案例最终代码一共98行,代码参看:配套资源\第10章\10...原创 2021-01-16 12:50:15 · 746 阅读 · 2 评论 -
《Python游戏趣味编程》 第9章 贪吃蛇
图书简介可以看这里:童晶:《Python游戏趣味编程》新书上架了本章我们将编写一个贪吃蛇的游戏,效果如图9-1所示。键盘控制小蛇上下左右移动,吃到食物后长度加一;蛇头碰到自身或窗口边缘,游戏失败。首先构造小蛇,实现向四个方向移动;然后实现游戏失败的判断、吃食物增加长度、得分功能;最后学习函数的定义与使用,并进行时间控制的改进。本章案例最终代码一共97行,代码参看:配套资源\第9章\9-10-2.p...原创 2021-01-16 12:49:54 · 837 阅读 · 0 评论 -
《Python游戏趣味编程》 第8章 勇闯地下一百层
图书简介可以看这里:童晶:《Python游戏趣味编程》新书上架了本章我们将编写一个勇闯地下一百层的游戏,键盘控制游戏角色左右移动,跳到下方随机生成的砖块上,尝试坚持一百层,效果如图8-1所示。首先实现键盘控制游戏角色移动;然后实现角色与砖块相对位置的判断、多个砖块的显示、上移与更新;最后实现失败判断、得分的计算与显示、行走动画效果。本章案例最终代码一共74行,代码参看:配套资源\第8章\8-7.p...原创 2021-01-16 12:49:33 · 764 阅读 · 0 评论 -
《Python游戏趣味编程》 第7章 飞机大战
图书简介可以看这里:童晶:《Python游戏趣味编程》新书上架了本章我们将编写一个飞机大战的游戏,鼠标控制飞机移动、按下鼠标发射子弹,效果如图7-1所示。首先我们实现背景循环滚动、飞机发射子弹;然后实现敌机的控制与得分显示、游戏失败判断与处理;最后为游戏添加音效。本章案例最终代码一共88行,代码参看:配套资源\第7章\7-7.py,视频效果参看:配套资源\第7章\飞机大战.mp4。import p...原创 2021-01-16 12:49:08 · 794 阅读 · 0 评论 -
《Python游戏趣味编程》 第6章 见缝插针
图书简介可以看这里:童晶:《Python游戏趣味编程》新书上架了本章我们将编写一个见缝插针的游戏。按下空格键后发射一根针到圆盘上,所有发射的针跟着圆盘逆时针方向转动;如果新发射的针碰到已有的针,游戏结束。首先我们进行圆盘与针图片的显示、针的转动及旋转中心的设置;其次定义列表存储多根针的信息,实现多根针的发射、转动与失败判断;最后学习游戏信息的显示、音效的添加。本章案例最终代码一共49行,代码参看:...原创 2021-01-16 12:48:49 · 867 阅读 · 0 评论 -
《Python游戏趣味编程》 第5章 飞翔的小鸟
图书简介可以看这里:童晶:《Python游戏趣味编程》新书上架了本章我们将编写飞翔的小鸟游戏。小鸟会在空中下落,鼠标点击后向上飞行一段距离;随机位置的障碍物从右向左移动,玩家需控制小鸟穿过障碍物间的空隙得分。首先我们学习图片的导入和显示,实现背景、小鸟、障碍物的显示;然后学习控制小鸟的下落与上升、障碍物的移动;最后学习游戏失败的判定与游戏重置、得分的显示。本章案例最终代码一共58行,代码参看:配套...原创 2021-01-16 12:48:30 · 1287 阅读 · 0 评论 -
《Python游戏趣味编程》 第4章 疯狂的小圆圈
图书简介可以看这里:童晶:《Python游戏趣味编程》新书上架了本章我们将实现一个好玩的程序,鼠标点击后,会在点击处出现一些同心圆圈,并在窗口中四处反弹,效果如图4-1所示。首先我们学习列表的概念,用列表记录实现多个小球的反弹;然后学习一种新的鼠标交互方式,用鼠标移动点击来增加绘制同心圆。本章案例最终代码一共38行,代码参看:配套资源\第4章\4-5.py,视频效果参看:配套资源\第4章\疯狂的小...原创 2021-01-16 12:48:06 · 797 阅读 · 0 评论 -
《Python游戏趣味编程》 第3章 美丽的圆圈画
图书简介可以看这里:童晶:《Python游戏趣味编程》新书上架了本章我们将利用Python绘制美丽的圆圈画,鼠标点击时圆圈的颜色会随机变化。首先在上一章的基础上,绘制多层同心圆;然后学习for循环语句,简化重复绘制的代码;接着学习颜色的数值表示方法,并利用随机实现丰富多变的颜色效果;最后学习循环的嵌套,实现多个同心圆的平铺。本章案例最终代码一共18行,代码参看:配套资源\第3章\3-6-3.py,...原创 2021-01-16 12:47:43 · 501 阅读 · 0 评论 -
《Python游戏趣味编程》 第2章 弹跳的小球
图书简介可以看这里:童晶:《Python游戏趣味编程》新书上架了Python之所以功能强大,一个原因就是有大量功能强大的库,安装好后即可使用这些库的功能。打开海龟编辑器,点击图2-2中所示的“库管理”菜单。弹出图2-3的库管理对话框,选择游戏选项卡,依次点击安装Pygame、Pygame Zero两个游戏开发库,直到提示已安装。如果读者使用的是Mu集成开发环境,可以选择模式为Pygame Zero...原创 2021-01-16 12:47:20 · 1074 阅读 · 1 评论 -
《Python游戏趣味编程》 第1章 Python与开发环境介绍
图书简介可以参考这里:童晶:《Python游戏趣味编程》新书上架了要编写Python代码、让计算机读懂Python程序,我们需要安装Python集成开发环境。读者可以打开Python官方网站,找到合适的版本下载安装:然而对于真正的初学者,Python官方集成开发环境仍较为复杂,其菜单命令众多、全英文环境、需要手写指令配置第三方库等。在众多的Python集成开发环境中,作者推荐初学者使用深圳点猫科技...原创 2021-01-16 12:45:55 · 515 阅读 · 1 评论 -
《Python游戏趣味编程》标准IDE运行游戏代码的配置方法
首先,用Pip安装pygame、pygame zero两个库:pip install pygamepip install pygame zero第2章在编程猫海龟编辑器下的代码如下:import pgzrunWIDTH = 800HEIGHT = 600x = WIDTH/2y = HEIGHT/2speed_x = 3speed_y = 5r = 30def draw(): ...原创 2021-01-16 12:45:36 · 694 阅读 · 0 评论 -
《Python游戏趣味编程》新书上架了
《Python游戏趣味编程》新书上架了,目前京东、淘宝、当当上搜书名就可以找到,比如:《Python游戏趣味编程》(童晶)【摘要 书评 试读】- 京东图书Python游戏趣味编程 少儿编程入门教程书籍青少年编程真好玩中小学编程自学Python少儿趣味编程出版社上的图书网站,可以下载分步骤代码、图片音效素材、观看视频教程:https://www.epubit.com/bookDetails?id=U...原创 2021-01-16 12:45:09 · 682 阅读 · 0 评论 -
Python办公自动化 - 4 PDF办公自动化
这是一个Python编程简单入门的系列教程,课程所有资料(代码、测试文件)可以从百度网盘下载:链接:https://pan.baidu.com/s/1oS27bE9Pyns4Patf05ehLA提取码:jz5z讲解视频:ppt:其他三个教程的链接:童晶:Python办公自动化 - 1 Python快速入门童晶:Python办公自动化 - 2 Word办公自动化童晶:Python办公自动化 - 3 ...原创 2021-01-16 12:40:54 · 487 阅读 · 0 评论 -
Python办公自动化 - 3 Excel办公自动化
这是一个Python编程简单入门的系列教程,课程所有资料(代码、测试文件)可以从百度网盘下载:链接:https://pan.baidu.com/s/1oS27bE9Pyns4Patf05ehLA提取码:jz5z讲解视频:ppt:其他三个教程的链接:童晶:Python办公自动化 - 1 Python快速入门童晶:Python办公自动化 - 2 Word办公自动化童晶:Python办公自动化 - 4 ...原创 2021-01-16 12:40:38 · 260 阅读 · 0 评论 -
Python办公自动化 - 2 Word办公自动化
这是一个Python编程简单入门的系列教程,课程所有资料(代码、测试文件)可以从百度网盘下载:链接:https://pan.baidu.com/s/1oS27bE9Pyns4Patf05ehLA提取码:jz5z讲解视频:ppt:其他三个教程的链接:童晶:Python办公自动化 - 1 Python快速入门童晶:Python办公自动化 - 3 Excel办公自动化童晶:Python办公自动化 - 4...原创 2021-01-16 12:40:10 · 244 阅读 · 0 评论 -
Python办公自动化 - 1 Python快速入门
这是一个Python编程简单入门的系列教程,课程所有资料(代码、测试文件)可以从百度网盘下载:链接:https://pan.baidu.com/s/1oS27bE9Pyns4Patf05ehLA 提取码:jz5z 讲解视频:ppt:其他三个教程的链接:童晶:Python办公自动化 - 2 Word办公自动化童晶:Python办公自动化 - 3 Excel办公自动化童晶:Python办公自动化 - ...原创 2021-01-16 12:39:53 · 337 阅读 · 0 评论 -
第1章 Python与Processing介绍(《Python趣味创意编程》教学视频)
(图书介绍:童晶:《Python趣味创意编程》新书预告)视频教程:Processing的压缩文件、Python Mode压缩包,也可以从百度云盘下载:链接:https://pan.baidu.com/s/1YOEUhIc9r0c1pOPjHIdr9w 提取码:3i4n 下载配置好的同学,可以测试运行以下代码:particles = []def setup(): size(1280, 80...原创 2021-01-16 12:39:28 · 768 阅读 · 0 评论 -
第15章 音乐可视化(《Python趣味创意编程》教学视频)
(图书介绍:童晶:《Python趣味创意编程》新书预告)本章我们将实现音乐可视化的效果,如图所示。首先学习Minim库的下载配置,并利用Minim库播放音乐文件、绘制音乐音量波形;然后将声音转换到频域,学习音乐频谱波形的绘制,并实现圆圈射线频谱波形的效果;最后添加射灯连线、变大变小的眼睛,并学习实时声音信号的输入。视频教程:最终代码:add_library("minim") # 导入minim库...原创 2021-01-16 12:38:00 · 513 阅读 · 0 评论 -
第14章 定制字符画(《Python趣味创意编程》教学视频)
(图书介绍:童晶:《Python趣味创意编程》新书预告)本章我们将实现定制字符画的效果,如图所示。首先对图片均匀采样、显示字符;然后对字符串的元素进行遍历,实现一段文字的替换显示;最后根据字体大小调整采样位置,并添加一定的随机性。视频教程:最终代码:def setup(): global img,string # 全局变量 img = loadImage("image2.jpg") # 导...原创 2021-01-16 12:37:31 · 206 阅读 · 0 评论 -
第13章 图像像素采样(《Python趣味创意编程》教学视频)
(图书介绍:童晶:《Python趣味创意编程》新书预告)本章我们将实现图像像素采样的绘制效果,如图所示。首先学习图像文件的读取与显示,获取像素颜色;然后生成马赛克效果,并实现随机采样画圆、均匀采样画圆;最后利用叶序采样的方式,实现风格化图像的自动生成。视频教程:最终代码:def setup(): global img,goldenRatioAngle # 全局变量 goldenRa...原创 2021-01-16 12:37:06 · 268 阅读 · 0 评论 -
第12章 粒子同心圆(《Python趣味创意编程》教学视频)
(图书介绍:童晶:《Python趣味创意编程》新书预告)本章我们将实现粒子同心圆,如图所示。首先学习面向对象编程的知识,为粒子类添加成员变量与成员函数;然后实现一个面向对象版本的运动粒子,最终实现粒子移向同心圆的互动效果。视频教程:最终代码:class Particle: # 定义粒子类 def __init__(self): # 构造函数 self.x = random(1,widt...原创 2021-01-16 12:36:37 · 179 阅读 · 0 评论 -
第11章 递归分形树(《Python趣味创意编程》教学视频)
(图书介绍:童晶:《Python趣味创意编程》新书预告)本章我们将绘制递归分形树,如图所示。首先学习递归的概念,并学习if-elif-else语句;接着学习分形的概念,并利用递归调用绘制一棵分形树;最后添加鼠标交互、修改参数,实现随机分形树的绘制。视频教程:最终代码:def setup(): global offsetAngle,shortenRate,seed # 全局变量 size(...原创 2021-01-16 12:36:01 · 218 阅读 · 0 评论 -
第10章 随机山水画(《Python趣味创意编程》教学视频)
(图书介绍:童晶:《Python趣味创意编程》新书预告)本章我们将绘制随机山水画,如图所示。首先学习HSB颜色模型,并实现天空颜色渐变的效果;接着利用柏林噪声,实现云朵和山脉的绘制;然后学习随机种子函数,实现鼠标点击更新随机画面;最后学习带参数的函数,改进实现的代码。视频教程:最终代码: def setup(): size(800, 600) # 设定画面宽度、高度 colorMode(...原创 2021-01-16 12:35:34 · 619 阅读 · 0 评论 -
第9章 互相作用的圆球 (《Python趣味创意编程》教学视频)
(图书介绍:童晶:《Python趣味创意编程》新书预告)本章我们将实现互相作用的圆球,如图所示。首先实现多个随机的圆球,为圆球之间增加作用力,使其均匀分布到一个大圆内;然后实现鼠标交互,并能实现不同半径的圆球;最后学习函数的定义与使用,改进实现的代码。视频教程:最终代码:balls = [] # 存储所有圆球的全局变量,初始为空列表def setup(): size(800, 800) ...原创 2021-01-16 12:34:44 · 272 阅读 · 0 评论 -
第8章 随风飘动的粒子 (《Python趣味创意编程》教学视频)
(图书介绍:童晶:《Python趣味创意编程》新书预告)本章我们将实现随风飘动的粒子,如图所示。首先绘制逐渐消失的轨迹,实现随机运动的圆点;然后学习列表的概念,利用列表实现多个运动粒子;最后实现随机速度场,并为粒子添加彩色效果。视频教程:一些图片效果:最终代码:particles = [] # 存储所有粒子的全局变量,初始为空列表def setup(): size(1280, 800) ...原创 2021-01-16 12:34:22 · 325 阅读 · 1 评论 -
第7章 随机扭动的曲线(《Python趣味创意编程》教学视频)
(图书介绍:童晶:《Python趣味创意编程》新书预告)本章我们将实现随机扭动的曲线,如图所示。首先绘制圆圈上的一些采样点,并学习random、noise两种随机函数;接着学习曲线的绘制,解决首尾不连续的问题;最后绘制彩色曲线,并添加清屏与保存图片的功能。视频教程:最终代码:def setup(): size(800, 800) # 设定画布大小 noFill() # 不要填充颜色 ...原创 2021-01-16 12:33:57 · 307 阅读 · 0 评论 -
第6章 旋转的方块(《Python趣味创意编程》教学视频)
(图书介绍:童晶:《Python趣味创意编程》新书预告)本章我们将实现旋转的方块,如图所示。首先实现方块的绘制,学习坐标系的平移、旋转与缩放;接着实现一行方块的绘制,学习坐标系的保存与恢复;然后利用循环嵌套实现方块阵列的绘制;最后学习中文字符串的处理,实现文字表情包的制作。视频教程:最终代码: def setup(): size(500, 500) # 设定画布大小 noFill() ...原创 2021-01-16 12:31:33 · 285 阅读 · 0 评论 -
第5章 简易毛笔字(《Python趣味创意编程》教学视频)
(图书介绍:童晶:《Python趣味创意编程》新书预告)本章我们将实现简易毛笔字程序,读者可以按下鼠标按键移动,在程序窗口写出毛笔字的效果,如图所示。首先学习鼠标的交互方法,实现鼠标画圆、鼠标画线;接着改变画线的粗细,实现粗细的平滑过渡;最后在一条线段上进行粗细插值,并添加分叉线的绘制。视频教程:最终代码:def setup(): # 初始化函数,仅运行一次 global maxThickn...原创 2021-01-16 12:30:35 · 441 阅读 · 1 评论 -
第4章 旋转的圆弧(《Python趣味创意编程》教学视频)
(图书介绍:童晶:《Python趣味创意编程》新书预告)本章我们将实现旋转的圆弧,如图所示。首先学习圆弧的绘制和旋转;接着利用全局变量实现圆弧逐渐变长,学习if选择语句,实现圆弧长度的重复变化;然后学习逻辑运算符,实现圆弧的同时旋转与长度变化;最后实现多层圆弧的动画效果。视频教程:最终代码:def setup(): # 初始化函数,仅运行一次 global spanAngle,spanAng...原创 2021-01-16 12:30:00 · 367 阅读 · 0 评论 -
第3章 催眠的同心圆(《Python趣味创意编程》教学视频)
(图书介绍:童晶:《Python趣味创意编程》新书预告)本章我们将实现催眠的同心圆,如图所示。盯着逐渐变大消失的同心圆中心一段时间,再看其他物体会有收缩变形的错觉。首先利用帧数实现逐渐变大的圆圈,并利用取余实现圆圈重复变大的效果;接着学习for循环语句,改进同心圆的绘制方法;最后实现同心圆逐渐变大、淡化消失的动画效果。视频教程:最终代码:def setup(): # 初始化函数,仅运行一次 ...原创 2021-01-16 12:29:36 · 707 阅读 · 0 评论 -
第2章 转动眼珠的圆脸(《Python趣味创意编程》教学视频)
(图书介绍:童晶:《Python趣味创意编程》新书预告)本章我们将实现一个转动眼珠的圆脸,利用圆圈绘制一个圆脸,眼珠随着鼠标移动而转动,效果如图所示。首先实现圆的绘制,学习整数和算术运算符;然后学习变量的定义和使用,并设定背景和圆的亮度;接着实现跟随鼠标移动的圆圈,从而实现转动的眼珠;最后综合利用所学知识,实现转动眼珠的圆脸。视频教程:最终代码:def setup(): # 初始化函数,仅运行一...原创 2021-01-16 12:28:53 · 376 阅读 · 0 评论