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

相关文章

来自专栏JMCui

策略模式.

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

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

Leetcode 65 Valid Number DFA有限状态机

Validate if a given string is numeric. Some examples: "0" => true " 0.1 " =>...

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

洛谷P3857 [TJOI2008]彩灯(线性基)

Peter女朋友的生日快到了,他亲自设计了一组彩灯,想给女朋友一个惊喜。已知一组彩灯是由一排N个独立的灯泡构成的,并且有M个开关控制它们。从数学的角度看,这一排...

522
来自专栏图形学与OpenGL

WebGL画点程序v2

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

1074
来自专栏生信技能树

R for Data Science(十二)

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

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

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

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

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

BZOJ1058: [ZJOI2007]报表统计

Description   小Q的妈妈是一个出纳,经常需要做一些统计报表的工作。今天是妈妈的生日,小Q希望可以帮妈妈分担一些工 作,作为她的生日礼物之一。经过仔...

2786
来自专栏架构说

Effective STL(21) 永远让比较函数对相同元素返回false

问题描述: 昨天一哥们些的程序,在定义比较函数的时候是这样写的 bool cmp(const T& a, const T& b) { if (a >=...

3619
来自专栏锦小年的博客

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

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

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

hacklu CTF 2018 Baby PHP

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

1982

扫码关注云+社区