一般编程的教材,都是要把所有的变量类型讲完,然后才讲语句。这种讲法,其实不符合学习的特点。学习,就是要循序渐进的。在这点上,我可以很吹一通了,因为我做过教师,研究教育教学,算是有一点心得的。所以,我在这里就开始讲授语句。

什么是语句

在前面,我们已经写了一些.py的文件,这些文件可以用python来运行。那些文件,就是由语句组成的程序。

为了能够严谨地阐述这个概念,我还是要抄一段维基百科中的词条:命令式编程

命令式编程(英语:Imperative programming),是一种描述电脑所需作出的行为的编程范型。几乎所有电脑的硬件工作都是指令式的;几乎所有电脑的硬件都是设计来运行机器码,使用指令式的风格来写的。较高级的指令式编程语言使用变量和更复杂的语句,但仍依从相同的范型。

运算语句一般来说都表现了在存储器内的数据进行运算的行为,然后将结果存入存储器中以便日后使用。高级命令式编程语言更能处理复杂的表达式,可能会产生四则运算和函数计算的结合。

一般所有高级语言,都包含如下语句,Python也不例外:

循环语句:容许一些语句反复运行数次。循环可依据一个默认的数目来决定运行这些语句的次数;或反复运行它们,直至某些条件改变。

条件语句:容许仅当某些条件成立时才运行某个区块。否则,这个区块中的语句会略去,然后按区块后的语句继续运行。

无条件分支语句容许运行顺序转移到程序的其他部分之中。包括跳跃(在很多语言中称为Goto)、副程序和Procedure等。

循环、条件分支和无条件分支都是控制流程。

if语句

谈到语句,不要被吓住。看下面的例子先:

if a==4:

print "it is four"

else:

print "it is no four"

逐句解释一番,注意看注释。在这里给列为看官提醒,在写程序的是由,一定要写必要的注释,同时在阅读程序的时候,也要注意看注释。

if a==4: #如果变量a==4是真的,a==4为True,就

print "it is four" #打印“it is four”。

else: #否则,即a==4是假的,a==4为False,就

print "it is not four" #打印“it is not four”。

以上几句话,就完成了一个条件判断,在不同条件下做不同的事情。因此,if语句,常被翻译成“条件语句”。

条件语句的基本样式结构:

if 条件1:

执行的内容1

elif 条件2:

执行的内容2

elif 条件3:

执行的内容3

else:

执行的内容4

执行的内容1、内容2,等,称之为语句块。elif用于多个条件时使用,可以没有。另外,也可以只有if,而没有else。

提醒:每个执行的内容,均以缩进四个空格方式。

例1:输入一个数字,并输出输入的结果,如果这个数字大于10,那么同时输出大于10,如果小于是,同时输出提示小于10,如果等于10,就输出表扬的一句话。

从这里开始,我们的代码就要越来越接近于一个复杂的判断过程了。为了让我们的思维能够更明确上述问题的解决流程,在程序开发过程中,常常要画流程图。什么是流程图,我从另外一个角度讲,就是要让思维过程可视化,简称“思维可视化”。顺便自吹自擂一下,我从2004年就开始在我朝推广思维导图,这就是一种思维可视化工具。自吹到此结束。看这个问题的流程图:

理解了流程图中的含义,就开始写代码,代码实例如下:

#! /usr/bin/env python

#coding:utf-8

print "请输入任意一个整数数字:"

number = int(raw_input()) #通过raw_input()输入的数字是字符串

#用int()将该字符串转化为整数

if number == 10:

print "您输入的数字是:%d"%number

print "You are SMART."

elif number > 10:

print "您输入的数字是:%d"%number

print "This number is more than 10."

elif number < 10:

print "您输入的数字是:%d"%number

print "This number is less than 10."

else:

print "Are you a human?"

特别提醒看官注意,前面我们已经用过raw_input()函数了,这个是获得用户在界面上输入的信息,而通过它得到的是字符串类型的数据。可以在IDLE中这样检验一下:

>>> a=raw_input()

10

>>> a

'10'

>>> type(a)

>>> a=int(a)

>>> a

10

>>> type(a)

刚刚得到的那个a就是str类型,如果用int()转换一下,就变成int类型了。

看来int()可以将字str类型的数字转换为int类型,类似,是不是有这样的结论呢:str()可以将int类型的数字转化为str类型.建议看官实验一下。

上述程序的后面,就是依据条件进行判断,不同条件下做不同的事情了。需要提醒的是在条件中:number == 10,为了阅读方便,在number和==之间有一个空格最好了,同理,后面也有一个。这里的10,是int类型,number也是int类型.

上面的程序不知道是不是搞懂了?如果没有,可以通过QQ跟我联系,我的QQ公布一下:26066913,或者登录我的微博,通过微博跟我联系,当然还可以发邮件啦。我看到您的问题,会答复的。在github上跟我互动,是我最欢迎的。

最后,给看官留一个练习题目:

课后练习:开发一个猜数字游戏的程序。即程序在某个范围内指定一个数字,比如在0到9范围内指定一个数字,用户猜测程序所指定的数字大小。

请看官自己编写。我们会在后面讨论这个问题。

小知识

不知道各位是否注意到,上面的那段代码,开始有一行:

#! /usr/bin/env python

这是什么意思呢?

这句话以#开头,表示本来不在程序中运行。这句话的用途是告诉机器寻找到该设备上的python解释器,操作系统使用它找到的解释器来运行文件中的程序代码。有的程序里写的是/usr/bin python,表示python解释器在/usr/bin里面。但是,如果写成/usr/bin/env,则表示要通过系统搜索路径寻找python解释器。不同系统,可能解释器的位置不同,所以这种方式能够让代码更将拥有可移植性。对了,以上是对Unix系列操作系统而言。对与windows系统,这句话就当不存在。

python if条件思维导图_跟老齐学Python之从if开始语句的征程相关推荐

  1. python语言描述思维导图_雨痕 的《Python学习笔记》--附脑图(转)

    近日,在某微博上看到有人推荐了 雨痕 的<Python学习笔记>,从github上下载下来看了下,确实很不错. 注意,这本学习笔记不适合Python新手学习. 从目录上看,并不能看出这本笔 ...

  2. python实验室怎么样_跟老齐学Python之一个免费的实验室

    在学生时代,就羡慕实验室,老师在里面可以鼓捣各种有意思的东西.上大学的时候,终于有机会在实验室做大量实验了,因为我是物理系,并且,遇到了一位非常令我尊敬的老师--高老师,让我在他的实验室里面,把所有已 ...

  3. 跟老齐学python轻松入门_跟老齐学Python 轻松入门 中文pdf_Python教程

    资源名称:跟老齐学Python 轻松入门 中文pdf 第0章 预备 1第1章 基本对象类型 13第2章 语句和文件 100第3章 函数 145第4章 类 181第5章 错误和异常 233第6章 模块 ...

  4. 跟老齐学python从入门到精通mobi_《跟老齐学Python:从入门到精通》齐伟(编著)epub+mobi+azw3...

    内容简介 <跟老齐学Python:从入门到精通>是面向编程零基础读者的Python入门教程,内容涵盖了Python的基础知识和初步应用.以比较轻快的风格,向零基础的学习者介绍一门时下比较流 ...

  5. 关于主机的思维导图_「停课不停学」思维导图—初中语文全部知识点总结,高清可打印...

    导读 思维导图的创始人东尼·博赞先生在读大学的时候,作为一名大一新生,在第一天上课时,好奇心就被略带傲慢的教授点燃了,因为他之前从来没见一个老师可以不用翻花名册点名,而且是第一次上课,全部是新生的情况 ...

  6. python第一章思维导图_阅读课本第一章内容后,使用思维导图画出你所理解的

    [多选题]某甲今年14岁,他签订的下列合同有效的是( ). [多选题]下列违约责任承担方式可以并用的是( ). [单选题]用人单位自用工之日起满( )不与劳动者订立书面劳动合同的,视为用人单位与劳动者 ...

  7. python如何自学模块_跟老齐学Python之Import 模块

    认识模块 对于模块,在前面的一些举例中,已经涉及到了,比如曾经有过:import random (获取随机数模块).为了能够对模块有一个清晰的了解,首先要看看什么模块,这里选取官方文档中对它的定义: ...

  8. python脚本用类编写_跟老齐学Python之编写类之二方法

    数据流转过程 除了在类中可以写这种函数之外,在类中还可以写别的函数,延续上一讲的例子: #!/usr/bin/env python #coding:utf-8 class Person: def __ ...

  9. python计算学习_跟老齐学Python之用Python计算

    一提到计算机,当然现在更多人把她叫做电脑,这两个词都是指computer.不管什么,只要提到她,普遍都会想到她能够比较快地做加减乘除,甚至乘方开方等.乃至于,有的人在口语中区分不开计算机和计算器. 那 ...

最新文章

  1. UIPopoverController在ARC环境下用法注意
  2. SQL性能优化没有那么神秘
  3. .net c# 正则表达式 平衡组/递归匹配
  4. 【Android 性能优化】应用启动优化 ( 安卓应用启动分析 | Launcher 应用简介 | Launcher 应用源码简介 | Launcher 应用快捷方式图标点击方法分析 )
  5. 职称计算机必考和选考,2017职称计算机考试选择题「附答案」
  6. php重写地址,php url地址重写
  7. [机器学习笔记]Note10--支持向量机(SVM)
  8. 基于amoeba实现mysql数据库的读写分离/负载均衡
  9. python socket-tcp逻辑
  10. ASP.NET 2.0 Internet安全之参考实现
  11. 现代经济中的货币创造
  12. 最长公共子串计算C++
  13. 从0开始学心电信号处理(1)——心电信号的读取
  14. python 基于模板生成ppt_【Python3】通过模板实现PPT的自动生成
  15. 对挣钱与財富等三个问题的思考
  16. 2021年全球与中国颅骨稳定系统行业市场规模及发展前景分析
  17. python行业中性_单因子测试(上)——因子中性化
  18. 如何停用计算机服务,如何彻底禁用电脑中的迅雷服务XLservicePlatform
  19. python中hub_如何用Python实现hub
  20. 加速度计、陀螺仪和姿态角

热门文章

  1. JVM从入门到精通(三):热加载的实现原理,Java内存模型,缓存行,指令重排,合并写技术等
  2. 【GitHub教程】如何使用Eclipse将本地项目上传到github
  3. 区块链从入门到放弃系列教程-涵盖密码学,超级账本,以太坊,Libra,比特币等持续更新
  4. 小师妹学JavaIO之:文件写入那些事
  5. Java知识整理——容器
  6. java当前时间转化毫秒_Java中将毫秒转化为日期的方法
  7. RandomAccessFile简介与使用
  8. MySQL(九)插入、更新和删除
  9. 初始化HashMap的默认值——阿里巴巴编码规范系列
  10. 关于华为P40登录谷歌闪退的问题