人人都可以写的可视化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里面配置上面这个属性,这样整个项目都允许下 ...
随机推荐
- [HNOI2007]分裂游戏 SG打表博弈
结论:其实每一个巧克力都是一堆石子 它的石子数就是它到队尾的距离 打一个SG表即可 #include<bits/stdc++.h> using namespace std; typedef ...
- Java类的调用(实现数组排序和遍历输出)
两个类文件: Test1.java /** *同一个src下的两个类,主类在这里,调用另一个文件里的Public类 */ import java.lang.*; public class Test1 ...
- python c++ 混合编程中python调用c++string返回类型的函数,python中返回为数字的解决办法
本随笔解决 Python使用ctypes 调用c++dll 字符串返回类型函数,在python中显示为数字:原文解决方案见so: https://stackoverflow.com/questions ...
- window open() 方法
open() 方法用于打开一个新的浏览器窗口或查找一个已命名的窗口. 语法 window.open(URL,name,specs,replace) 参数 说明 URL 可选.打开指定的页面的URL.如 ...
- VirtualBox Linux虚拟机 网络设置 centos
VirtualBox网络设置成桥接 进去系统打开终端 vi /etc/sysconfig/network-scripts/ifcfg-enp0s3 用Vim编辑器打开配置文件,输入命令:vi /etc ...
- C/C++系列之复杂引用
以struct类型为例: 引用 #include"iostream" #include<string> using namespace std; struct myco ...
- go html 转字符串存mysql表中
func HTMLMarshal(str string) (returnStr string) { bf := bytes.NewBuffer([]byte{}) jsonEncoder := jso ...
- HDU 6134 Battlestation Operational | 2017 Multi-University Training Contest 8
破结论没听说过,上式推导到第三步的时候有了O(nlogn) 的做法(枚举倍数+1最后前缀和),并且这种做法可以直接应用到向上取整的计算中,详见forever97 但由于d(n)是积性函数,故可O(n) ...
- JUC-12.4-execute和sumbit的区别
在Executor接口中只定义了execute方法,而submit方法则是在ExecutorService接口中定义的. execute没有返回值,而submit有返回值. 转自: https://w ...
- 【算法题目】Leetcode算法题思路:两数相加
在LeetCode上刷了一题比较基础的算法题,一开始也能解出来,不过在解题过程中用了比较多的if判断,看起来代码比较差,经过思考和改进把原来的算法优化了. 题目: 给出两个 非空 的链表用来表示两个非 ...