Python控制语句由条件语句、循环语句构成。控制语句根据条件表达式控制程序的流转。本章将介绍Python中控制语句的基本语法。

条件判断语句

(1)if条件语句

if语句用于检测某个条件是否成立。如果成立,则执行语句内的程序,否则跳过if语句,执行后面的内容。if语句的格式如下:

if(条件表达式):
语句1
else:
语句2

if语句的执行过程如下:如果表达式的布尔值为真,则执行语句1;否则,执行语句2。其中else语句可以省略,表达式两侧的括号也可以省略。举例如下:

num1=10
num2=15 if(num1 < num2)
print "$%d is less than %d" % (num1, num2)
else:
print "$%d is greater than %d" % (num1, num2)

(2)if...elif...else语句

if...elif...else语句是对if...else...语句的补充,当程序的条件分支很多时,可以使用这种语句。语句格式如下:

if(条件表达式1):
语句1
elif(条件表达式2):
语句2
...
elif(条件表达式n):
语句n
else:
语句m

if...elif...else语句的执行过程:从上往下一次判断表达式,如果表达式为真,则执行对应的语句。如果所有表达式都不成立,则程序执行else子句的代码。其中else子句可以省略,表达式两侧的括号也可以省略。实例如下:

# -*- coding:utf-8 -*-

score = float(raw_input("please input score:")) #接收用户输入并转换为float类型

if 90 <= score <= 100:
print "A"
elif 80 <= score < 90:
print "B"
elif 70 <= score < 80:
print "C"
else:
print "D"

循环语句

循环语句是指重复执行同一段代码块,通常用于遍历集合或者累加计算。Python中的循环语句由while语句、for语句。

(1)for循环

for循环用于遍历一个集合,依次访问集合中的每一个项目。for循环的格式如下:

for 变量 in 集合:
语句块
else:
语句块

for...in...循环的执行过程:每次循环从集合中取一个值,并把该值赋给变量。集合可以是元组、列表、字典等数据结构。for循环中的else子句也属于循环的一部分,最后一次循环结束后将执行else子句,else子句可以省略。

for...in...循环通常与range()函数一起使用,range()返回一个列表,for...in...遍历列表中的元素。实例如下:

for num in range(1,100):
print num

(2)while循环

while循环语句是Python程序设计常用的语句之一,格式如下:

while(表达式):
语句块1
else:
语句块2

while循环的执行过程:当循环表达式为真时,依次执行while中的语句,直到循环表达式的值为False,程序的流程转到else语句。其中else子句可以省略,表达式两侧的括号可以省略。实例如下:

num = 1

while num <= 5:
print num
num = num + 1

break和continue语句

(1)break语句

break语句可以使程序跳出循环语句,从而执行循环体外的程序。即break语句可以提前结束循环。break语句不能运行在循环体或者分支语句外。实例如下:

num = 1

while num <= 10:
print num
num = num + 1
if num > 5:
break

(2)continue语句

continue语句也是用来跳出循环的语句。但是与break不同的是,continue不会跳出整个循环体,只是跳出当前的循环,然后执行执行后面的循环。实例如下:

num = 1

while num <= 10:
print num
num = num + 1
if num == 5:
continue

练习题

(1)设计一个猜大小的数字游戏。

import sys, random

number = random.randrange(1,1000)

while True:
try:
input_num = int(raw_input('please input number:'))
except:
print "input not a number,bye"
sys.exit(1)
if input_num > number:
print "larger than actual value."
continue
elif input_num < number:
print "less than actual value."
continue
else:
print "congratulation"
break
print "Goodbye"

小结

本章介绍了条件语句和循环语句的基础语法,这些语法和概念是Python编程语言的基础,而是最基本的要素。几乎所有的程序都会涉及判断、循环。对于控制语句中使用到的列表、字典等数据内容,在后续文章中会进一步讲解。

[ Python入门教程 ] Python的控制语句的更多相关文章

  1. boost.python入门教程 ----python 嵌入c++

    Python语言简介 Python是一种脚本语言.以开放的开发接口和独特的语法著称.尽管Python在国内引起注意只有几年的时间,但实际上Python出现于上世纪90年代(据www.python.or ...

  2. [ Python入门教程 ] Python字典数据类型及基本操作

    字典是Python中重要的数据类型,字典是由"键-值"对组成的集合,"键-值"对之间用逗号隔开,包含在一对花括号中.字典中的"值"通过&qu ...

  3. [ Python入门教程 ] Python基础语法

    Python的语法非常简练,因此用Python编写的程序可读性强.容易理解.本章将介绍Python的基本语法和概念. Python文件类型 1.源代码.Python的源代码的扩展名以py结尾,可直接运 ...

  4. [ Python入门教程 ] Python文件基本操作

    本文将python文件操作实例进行整理,以便后续取用. 文件打开和创建 Python中使用open()函数打开或创建文件.open()的声明如下: open(name[, mode[, bufferi ...

  5. [ Python入门教程 ] Python中JSON模块基本使用方法

    JSON (JavaScript Object Notation)是一种使用广泛的轻量数据格式,Python标准库中的json模块提供了一种简单的方法来编码和解码JSON格式的数据.用于完成字符串和p ...

  6. [ Python入门教程 ] Python中日期时间datetime模块使用实例

    Python中datetime模块提供强大易用的日期处理功能,用于记录程序操作或修改时间.时间计算.日志时间显示等功能.datatime模块重新封装了time模块,提供的类包括date.time.da ...

  7. [ Python入门教程 ] Python中日志记录模块logging使用实例

    python中的logging模块用于记录日志.用户可以根据程序实现需要自定义日志输出位置.日志级别以及日志格式. 将日志内容输出到屏幕 一个最简单的logging模块使用样例,直接打印显示日志内容到 ...

  8. [ Python入门教程 ] Python文件基本操作_shutil模块

    shutil模块是对os模块中文件操作的补充,提供文件和目录的移动.复制.打包.压缩.解压等功能 shutil常用函数   shutil.copyfile(src, dst)   复制文件, 如果ds ...

  9. [ Python入门教程 ] Python生成随机数模块(random)使用方法

    1.使用randint(a,b)生成指定范围内的随机整数.randint(a,b)表示从序列range([a,b])中获取一个随机数,包括b. >>> random.randint( ...

随机推荐

  1. MySQL统计信息简介

    作者:王小龙@网易乐得DBA 原文地址: http://mp.weixin.qq.com/s/698g5lm9CWqbU0B_p0nLMw MySQL执行SQL会经过SQL解析和查询优化的过程,解析器 ...

  2. vuex 源码分析(五) action 详解

    action类似于mutation,不同的是Action提交的是mutation,而不是直接变更状态,而且action里可以包含任意异步操作,每个mutation的参数1是一个对象,可以包含如下六个属 ...

  3. Lambda 表达式构建初级示例(不完整)

    直接贴代码了: using System; using System.Collections.Generic; using System.Linq; using System.Linq.Express ...

  4. Java使用路径通配符加载Resource与profiles配置使用

    序言 Spring提供了一种强大的Ant模式通配符匹配,能从一个路径匹配一批资源. Ant路径通配符 Ant路径通配符支持“?”.“*”.“**”,注意通配符匹配不包括目录分隔符“/”: “?”:匹配 ...

  5. sequelize-auto生成sequelize所有模型

    sequelize是node最受欢迎的orm库,普遍使用 Promise. 意味着所有异步调用可以使用 ES2017 async/await 语法. 快速入门地址:https://github.com ...

  6. 一个jetty部署多个项目配置之方法一

    https://my.oschina.net/wangyongqing/blog/115647 Jetty用户经常想配置他们的web应用到不同的虚拟主机. 通常情况下,一个单一的IP地址的机器有不同的 ...

  7. c# System.Net.Sockets =》TcpListener用法

     private TcpListener _listener;#region 初始化 listener public override void Init() { try { DevInfo.Read ...

  8. Java生鲜电商平台-高并发的设计与架构

    Java生鲜电商平台-高并发的设计与架构 说明:源码下载Java开源生鲜电商平台以及高并发的设计与架构文档 对于高并发的场景来说,比如电商类,o2o,门户,等等互联网类的项目,缓存技术是Java项目中 ...

  9. web前端-js

    1. js基础语法 声明变量 var a = 10; 查看变量类型 typeof a; 打印,测试语句 alert(a); #使用弹出框显示 console.log(a);    #使用console ...

  10. python 树与二叉树的实现

    1.树的基本概念 1.树的定义 树的定义是递归的,树是一种递归的数据结构. 1)树的根结点没有前驱结点,除根结点之外所有结点有且只有一个前驱结点 2)树中所有结点可以有零个或多个后继结点 2.树的术语 ...