零基础学编程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 条评论
登录 后参与评论

相关文章

来自专栏大数据文摘

正则表达式太慢?这里有一个提速100倍的方案(附代码)

1504
来自专栏杨建荣的学习笔记

任务调度并行算法的Python简单实现

本来自己想先使用Java来写一个版本,然后根据语法转义写成Python版本的,结果发现实际去做的时候有很多不同之处,首先就是Python中没有直接的数组的结构,...

3406
来自专栏Dawnzhang的开发者手册

数据结构与算法学习笔记之高效、简洁的编码技巧“递归”

盗梦空间想象大多数人都看过:电影讲述的是主人公诺兰进入希里安·墨菲梦境植入想法的行动。为了向希里安·墨菲梦植入理念,影片进入四层梦境,即所谓:“梦中的梦中 梦中...

913
来自专栏aCloudDeveloper

经典排序之 快速排序

Author: bakari  Date: 2012.7.21 排序算法有很多种,每一种在不同的情况下都占有一席之地。关于排序算法我分“经典排序之”系列分别述之...

18010
来自专栏数据结构与算法

P1423 小玉在游泳

题目描述 小玉开心的在游泳,可是她很快难过的发现,自己的力气不够,游泳好累哦。已知小玉第一步能游2米,可是随着越来越累,力气越来越小,她接下来的每一步都只能游出...

2435
来自专栏Leetcode名企之路

布隆过滤器

之前读吴军《数学之美》的时候提到布隆过滤器,觉得蛮有意思的,所以总结一下。 在计算机中,判断一个元素是不是在一个集合中,通常是用hash来解决,这在数据量不大的...

601
来自专栏小红豆的数据分析

小蛇学python(11)初窥numpy

读者可以自行输入,观看结果,享受编码的乐趣。注意zeros和ones后面是跟了两组小括号的。

783
来自专栏用户2442861的专栏

动态规划算法学习

http://blog.csdn.net/nevasun/article/details/6977511

844
来自专栏云霄雨霁

字符串查找----查找算法的选择

1770
来自专栏云霄雨霁

离散数学中集合上二元关系的判定及实现

2470

扫码关注云+社区