人人都可以写的可视化Python小程序第二篇:旋转的烟花
兴趣是最好的老师
枯燥的编程容易让人放弃,兴趣才是最好的老师。无论孩子还是大人,只有发现这件事情真的有趣,我们才会非常执着的去做这件事,比如打游戏。如果编程能像玩游戏一样变得有趣,我相信很多人就特别愿意去做这件事了
游戏的乐趣在于玩
把握重点,坚持其实并不难
王者荣耀游戏持续火爆了几年,其原因就是简单,有意思,每一次触碰手机,就像心底有一个声音在呼唤,玩一把,就玩一把就不玩了,结果玩着玩着就天亮了。如果学习也能够有这样的乐趣在其中,相信坚持并不是一件什么难事。
(简单回顾一下上一篇文章中的代码,如果不太懂,可以关注并阅读上一篇哦,附上地址人人都可以写的一个Python可视化小程序,带你走进编程的世界)
# 导入海龟库
import turtle
# 拿到海龟画笔
t = turtle.Pen()
# 循环100次
for x in range(100):
t.forward(x) # 往画笔箭头的方向前进的像素值,x代表具体前进多少
t.left(90) # 画笔箭头左转90度
使用画笔和颜色
首先我们来修改一下背景颜色,代码是 turtle.bgcolor("black")
我们来修改一下画笔的颜色,在这里我们首先声明了4个颜色 colors = ['purple', 'yellow', 'blue', 'red'] 这些颜色的名字就是英文的名字,在使用t.pencolor()的时候,海龟库的方法会自动帮助我们渲染成我们想要的这个颜色
完整的代码
t.pencolor(colors[x%4])
这行代码的意思是画笔使用什么颜色,其中colors[x%4]决定了到底获取哪一个颜色。x%4的意思是x的值对4取余数,最终的结果肯定是0、1、2、3其中的一个。那么也就是说从colors这个数组中获取到一种颜色。colors就是我们上边声明的包含颜色种类的数组,数组中每一个元素对应着一个角标位置,0代表purple紫色(代码中顺序的数字都是从0开始的),1代表yellow黄色,2代表bule蓝色,3代表red红色。代码运行后的结果如下:
这里我们已经完成的基本的颜色操作,下边我们换一个图形感受一下,这一次我们画4个不同颜色的圆。
与之前不同的是,这里绘画的图形变成了圆形
代码运行后的结果
看着你的画笔在不停的绘画,是不是有一种成就感和乐趣呢。
使用代码让烟花绽放吧
这里加入了画笔宽度的设置
代码运行结果
增加一个变量,一样的代码让图形产生不一样的效果
这里我们添加一个变量sides,它代表着我们想使用几种颜色和我们想要几个图像的切面,当然这个sides的值一定要小于等于6,也就是目前我们设置的颜色的个数,如果大了,代码中将会报错。上面的图就是相当于我们把sides设置成了6的结果,下面我们一一来实验一下把sides分别设置成其他的值的结果吧。
- 将sides的值设置成5
sides等于5时代码的书写
sides等于5时代码运行的结果
- 将sides的值设置成4
sides等于4时代码的书写
sides等于4时代码运行的结果
- 将sides的值设置成3
sides等于3时代码的书写
sides等于3时代码运行的结果
- 将sides的值设置成2
sides等于2时代码的书写
sides等于2时代码运行的结果
写代码,忌讳只抄不练哦,一定要记得自己练。自己写出来的那种成就感是无与伦比的,不能单纯的只看一下,这样是不好的,也是学不会的,更获得不了乐趣。想要乐趣就要动手哦。快快动手玩起来吧!
如果写代码像玩游戏一样,那我们的兴趣是否会有质的提升呢?
人人都可以写的可视化Python小程序第二篇:旋转的烟花的更多相关文章
- 我的微信小程序第二篇
在上一篇<我的微信小程序第一篇(入门)>中,很多人问我什么是微信小程序,在这里我要说一下这个是我的失误啦,我默认大家都知道微信小程序,其实可能行内人士都知道小程序,好多非行内朋友可能平时不 ...
- 人人都可以写的一个Python可视化小程序,带你走进编程的世界
当年的PHP号称是最好的编程语言,今天的Python就是最简单的编程语言,一个小小的程序,寥寥几行代码,带你体验一下编程的乐趣. 最简单的编程语言 今天要介绍的小工具是Python环境安装好之后,自带 ...
- 怎么样通过编写Python小程序来统计测试脚本的关键字
怎么样通过编写Python小程序来统计测试脚本的关键字 通常自动化测试项目到了一定的程序,编写的测试代码自然就会很多,如果很早已经编写的测试脚本现在某些基础函数.业务函数需要修改,那么势必要找出那些引 ...
- Python 小程序,对文件操作及其它
以下是自己写的几个对文件操作的小程序,里面涉及到文件操作,列表(集合,字典)的运用等.比方说,从文件里读取一行数据.分别存放于列表中,再对列表进行操作.如去掉里面的反复项.排序等操作. 常见对文件里行 ...
- Day1:第一个python小程序
Day1:第一个python小程序与开发工具Pycharm 一.Hello World C:\Users\wenxh>python Python 3.6.2 (v3.6.2:5fd33b5, J ...
- Java可视化日历(Date类、DATe Format类、Calendar类综合运用),开发可视化日历小程序
Java时间日期类综合运用,开发可视化日历小程序 由键盘输入指定格式的日期,打印这个月的日历 1.代码 import java.text.DateFormat; import java.text.Pa ...
- 微信小程序入门篇
微信小程序入门篇: 准备工作 IDE搭建 就不多说了,没有内测码去下载个破解版吧,我用了一下,学习完全够了!IDE破解版+安装教程 图片发自简书App 知识准备 JavaScrip还是要看看的,推荐教 ...
- 前端微信小程序实战篇
电商底部导航栏的制作 我想大家对电商一定不陌生,一般电商的底部导航栏有以下几个首页.分类.购物车.个人中心. app.json是用来配置page路径以及导航栏属性的,那我们要做首页.分类.购物车.个人 ...
- 【微信小程序】转载:微信小程序实战篇-下拉刷新与加载更多
下拉刷新 实现下拉刷新目前能想到的有两种方式 1. 调用系统的API,系统有提供下拉刷新的API接口 当然,你可以直接在全局变量app.json的window里面配置上面这个属性,这样整个项目都允许下 ...
随机推荐
- linux tar打包压缩排除某个目录或文件
用tar打包时想剔除打包目录中的某个子目录或文件: 比如你想打包/home这个目录,但是/home/afish/目录和/home/www/afish.php文件你都不想打包,方法是: tar -zcv ...
- Red Hat Enterprise Linux 7.0
简介 Red Hat Enterprise Linux是Red Hat公司的Linux发行版,面向商业市场,包括大型机.红帽公司从Red Hat Enterprise Linux 5开始对企业版LIN ...
- webpac4k运行webpack .\src\main.js .\dist\bundle.js打包出错
打包的命令格式:webpack 要打包的文件的路径 打包好的输出文件的路径 运行webpack .\src\main.js .\dist\bundle.js 提示错误,错误信息如下: WARNING ...
- ubunu安装qq、微信等、
参考: https://www.lulinux.com/archives/1319 安装下面下载deepin-wine-for-ubuntu,然后进去安装 https://github.com/wsz ...
- JavaScript设置和获取cookie
创建 //创建cookie function setCookie(name, value, expires, path, domain, secure) { var cookieText = enco ...
- Codeforces Round #585 (Div. 2) A. Yellow Cards(数学)
链接: https://codeforces.com/contest/1215/problem/A 题意: The final match of the Berland Football Cup ha ...
- pyinstaller打包好的.exe程序在别的电脑上运行出错
打开.exe提示: Failed to execute script... 查看命令行错误提示为: 总的来说呢,就是有的版本pyqt5库对系统变量的加载存在bug,具体原因只有官方才能解释了,咱也没法 ...
- [Luogu P1230]智力大冲浪
题目链接 这道题,贪就对了. 先按照价值排序,从大到小.当前考虑的的就先放到尽可能晚的时间点,为其他的创造机会,如果这一个的所有可用时间段都被占据,就只能扣钱了. #include<fstrea ...
- 参数类型 (实体类层)eneity或pojo 常用参数类型
import java.util.Date;@TableName("p_user_base_info") public class UserBaseInfo extends Mod ...
- codeforces 1249 D2 Too Many Segments (hard version) 贪心+树状数组
题意 给定n个线段,线段可以相交,第\(i\)个线段覆盖的区间为\([l_i,r_i]\),问最少删除多少个线段让覆盖每个点的线段数量小于等于k. 分析 从左往右扫每个点\(x\),若覆盖点\(x\) ...