零基础学编程018:条件语句

学习了《零基础学编程017:画出我的公众号LOGO》之后,可以用几行代码,画出一个螺旋渐开线。

from turtle import *
for i in range(365) :
    forward(1.01 ** i)
    left(9)   

forward(1.01 ** i) 表示每天进步一点点,从画出的圆弧的半径上大致可以看出进步的效果在逐步显现,但如何显示出每周的进步呢?我们可以在每周7天的时候画出一个标记来,只需增加2行代码即可。

from turtle import *
for i in range(365) :
    forward(1.01 ** i)
    left(9)
    if(i % 7 == 0) :
        stamp()

程序的三种结构:顺序循环分支

顺序结构非常容易理解,按照代码出现的先后顺序执行,先执行forward( )再执行left( ),一步一步地顺序执行,大部分语句都是这样排列的。

循环结构可以让计算机做重复的事,在Python中就是for语句,在《零基础学编程007:FOR循环》里介绍过。

分支结构可以让计算机在满足某种条件时,或者达到某种状态的时候,执行指定的任务。

在这里加了2行语句:

if(i % 7 == 0) :
    stamp()

关于i % 7 == 0 这个表达式暂时不用过多地理解,它表示的意思就是i是否能够被7整除时,即i为0,7,14,21......时。如果把上面的代码翻译为汉语,可以这样对应:

 if      (i % 7 == 0)     :
 如果     i能够被7整除时     执行下面的语句

而stamp()就是满足条件时要执行的语句,这个函数的作用是画出一个小标记,在turtle画图系统中默认是画一个小三角形。整个代码就会每7天显示出一个三角形,可以看出每周的进步是不是越来越大?

小结:实际上一个程序主要就这三种结构:顺序、循环和分支。将这些结构组合起来,就会非常强大,可以完成各种各样的任务。

练习:试着在for语句之前加上一行语句shape("turtle")看看会出现什么图形?

--- END ---

原文发布于微信公众号 - 申龙斌的程序人生(slbGTD)

原文发表时间:2017-01-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏yw的数据分析

data.table包使用应该注意的一些细节

  注意默认nThread=getDTthreads(),即使用所有能用的核心,但并不是核心用的越多越好,本人亲自测试的情况下,其实单核具有较强的性能,只有在数...

671
来自专栏Android相关

散列表(Hash Table)

散列表是一种以平均O(1)时间插入、删除和查找的数据结构,可是类似于findMax,findMin等操作则需要以O(N)的时间才能完成

1573
来自专栏安恒网络空间安全讲武堂

hacklu CTF 2018 Baby PHP

过file_get_contents()用到了php伪协议。https://www.lorexxar.cn/2016/09/14/php-wei/。只要通过ph...

1592
来自专栏Web 开发

做wordpress CMS必须用到的强力代码(转)

这个代码很强力,做一个wordpress cms的索引页面(index.php) 这个代码是必须要会使用,不然会走很多弯路。

972
来自专栏华章科技

10道Hadoop面试真题及解题思路

首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法, 比如模1000...

702
来自专栏用户2442861的专栏

STL map, hash_map , unordered_map区别、对比

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haluoluo211/article/d...

2655
来自专栏锦小年的博客

python学习笔记6.7-简化数据结构的初始化过程

我们每编写一个类的时候都需要编写一个初始化函数,那么如果编写的类当做数据结构来用,它们的初始化结构就是一样的,例如: class Stock: def ...

2036
来自专栏编程

看不懂CNC编程?送你一份CNC程序代码大全

一、常用地址符含义 二、数控FANUC加工中心编程指令代码详解 辅助功能M指令 注:在一个程序段中只能有指令一个M指令,如果在一个程序中出现两个或两个以上的M指...

2840
来自专栏来自地球男人的部落格

tensorflow中取值

最近在写用tensorflow的程序时,中途遇到想取出tensorflow中的返回值是什么,可是其返回值也是一个tensor。用了两种方法,试图将tensor直...

2126
来自专栏图形学与OpenGL

WebGL画点程序v2

本文程序实现画一个点的任务,如下图。其中,点的位置坐标由Javascript传到着色器程序中,而不是直接给定(“硬编码”)在顶点着色器中。

1024

扫码关注云+社区