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. MySchool题目

    题目: 1.查询所有学生记录,包含年级名称2.查询S1年级下的学生记录 一.项目目录 二.com.myschool.dao 2.1 BaseDao package com.myschool.dao; ...

  2. Spring-@ControllerAdvice 拦截异常并统一处理

    在spring 3.2中,新增了@ControllerAdvice 注解, 可以用于定义@ExceptionHandler.@InitBinder.@ModelAttribute,并应用到所有@Req ...

  3. 『月之谜 数位dp』

    月之谜 Description 打败了Lord lsp 之后,由 于lqr 是一个心地善良的女孩 子,她想净化Lord lsp 黑化的 心,使他变回到原来那个天然 呆的lsp--在倒霉的光之英 雄ap ...

  4. 微信小程序小Demo

    微信小程序小Demo 调用API,轮播图,排行榜,底部BabTar的使用... board // board/board.js Page({ /** * 页面的初始数据 */ // 可以是网络路径图片 ...

  5. .net core linux环境下 System.Data.SqlClient.SqlException: Connection Timeout Expired.

    最近遇到了一个很奇葩的问题,我编写了一个.net core程序读取多个数据库数据源,进行数据同步处理.该程序在windows环境下运行完全正常,但在linux环境下运行报异常,提示 System.Da ...

  6. Node.js能解决什么问题?

    一.使用Node.js能解决什么问题 对于PHP.JAVA.Python等服务端语言中,为每个客户端连接创建一个新的线程,而每个线程需要大约2M的内存,理论上,具有8GB内存的服务器可以同时连接的最大 ...

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

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

  8. Winform中实现设置ZedGraph的GraphPane的大小匹配ZedGraphControl

    场景 Winforn中设置ZedGraph曲线图的属性.坐标轴属性.刻度属性: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...

  9. Python破解js加密实例(有道在线翻译)

    在爬虫爬取网站的时候,经常遇到一些反爬虫技术,比如: 加cookie,身份验证UserAgent 图形验证,还有很难破解的滑动验证 js签名验证,对传输数据进行加密处理 对于js加密经过加密传输的就是 ...

  10. inndo 表与存储逻辑_1

    ------------------------------------------2015-03-03--------------------------------------- 表 : inno ...