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

相关文章

来自专栏生信技能树

R for Data Science(十二)

一直觉得编程能力好的人都会写函数,我对R语言写函数能力比较差,就学了这一章节,拆分如何写函数以及为什么写函数 例如我们看一下这个代码

1052
来自专栏漏斗社区

HASH函数烧脑大作战

本期讲解一下hash函数,由于之前在比赛中做到了一题hash有关的题目,引发了此次的深(烧)度(脑)研究,本来想讲讲原理,但是太难,看得很痛苦,所以此次通过结合...

795
来自专栏yw的数据分析

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

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

611
来自专栏图形学与OpenGL

WebGL画点程序v2

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

944
来自专栏JetpropelledSnake

Vue学习笔记之计算属性和侦听器

模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的。在模板中放入太多的逻辑会让模板过重且难以维护。例如:

963
来自专栏JMCui

策略模式.

    网上介绍设计模式的文章有很多,好文也不少。作为设计模式的初学者,实在不敢多加造次。就仅以此文作为我记忆的备忘录吧!

853
来自专栏Android相关

散列表(Hash Table)

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

1253
来自专栏华章科技

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

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

672
来自专栏计算机视觉与深度学习基础

本次新生赛部分题解

A poj1129 这题的愿意是考察四色原理(不是太难,主要是了解),但是模拟+暴力枚举也是可以过的,有几个WA点,注意看注释 #include<cstdio>...

1895
来自专栏腾讯技术工程官方号的专栏

后台开发中的时空转换艺术

作者介绍:augustzhang,安全平台部基础架构组员工,先后从事密保、验证码等后台研发工作,现在主要负责安全平台部大数据平台的研发工作,致力于研究每秒GB级...

2007

扫码关注云+社区