控制结构就是指顺序结构、分支结构、循环结构。

一、顺序结构

这是一种最简单的程序结构,程序按语句的书写次序自上而下顺序执行。

例如:给出圆的半径,求圆的周长和面积。

源程序:

>>> r=input("请输入圆的半径:")

请输入圆的半径:2.3

>>> r=float(r)

>>> c=2*3.14*r

>>> s=3.14*r*r

>>> print("圆的周长为:","%10.2f"%c)

圆的周长为: 14.44

>>> print("圆的面积为:","%10.2f"%s)

圆的面积为: 16.61

分析:

1)计算面积和周长的两条语句可以交换位置,但是输入语句不能放在计算之后,输出语句不能放在计算之前。

2)input得到的是字符串,用 float(x)函数把字符串转换成浮点型,这样才能用于进行计算。

3)print 中"%10.2f"是格式控制字符串,表示输出浮点数(f),占10个字符位置(10),其中有两位小数(.2),c 和 s是要输出的数据,注意前面要有%。当然,这句也可以写成:print("圆的面积为:%10.2f"%c)。

二、分支结构

分支结构是处理当条件满足时如何处理,条件不满足的时候又如何处理的一种事物处理逻辑。它有单分支、双分支和多重分支之分。

1、单分支

if:

其中条件表达式可以是关系表达式、逻辑表达式或者算术表达式。要注意的是 后面有一个冒号,不能少。条件为真时执行,为假时什么都不做。

实例:输入 a和 b,找出最大的数。

源代码:

a=int(input("Please enter first number:")) #用int()转换成整数

b=int(input("Please enter second number:"))

max=a

if max

max=b

print('最大数是:',max)

输出:

Please enter first number:23

Please enter second number:43

最大数是: 43

2、双分支

if:

else:

注意 else后面也有一个冒号,、缩进要相同,同一级别的缩进量要相同。

示例:编写一个程序,解方程ax^2+bx+c=0。a b c是用户输入的,如果有实根,则计算并输出实根,如果没有,则显示“没有实根”。

分析:一元二次方程有无实根通过根的判别式来判断:delta=b^2-4ac,如果大于等于0,则有实根,计算实根求 delta=sqrt(b^2-4ac),x1=(-b+delta)/2a ,x1=(-b-delta)/2a。

源代码:

#解一元二次方程 ax^2+bx+c=0

#由于后面要使用开方函数,所以要导入数学函数

from math import *

a=float(input("请输入系数a:"))

b=float(input("请输入系数b:"))

c=float(input("请输入系数c:"))

delta=b*b-4*a*c

if(delta>=0):

delta=sqrt(delta)#注意if要缩进并对齐

#计算两个实根

x1=(-b+delta)/2/a #注意“除以2a"不要写成/2a

x2=(-b-delta)/(2*a)

print("两个实根分别为:",x1,x2)

else:

print("没有实根")

输出:

请输入系数a:1

请输入系数b:3

请输入系数c:2

两个实根分别为: -1.0 -2.0

3、多重分支

if:

elif:

...

elif:

else:

其中elif相当于else:if。

三、循环结构

Python提供 for和 while两种循环语句。通常,for循环用来遍历序列对象中的元素,并对每个元素运行循环体。while循环语句,提供了编写通用循环的方法。

先说说for循环。

1、for循环

常用格式为:

for in range(begin,end,step):

/

其中variable是标识符。begin是其起始值,end是其终止值,step是步长,他们都是整数。variable从begin开始,到end结束(不包括end),步长为step的每一个数,执行循环体。

示例:求1~n之间整数的平方和。

源代码:

#sum = 1+2^2+3^2+...+n^2

n=int(input("请输入一个正整数n:"))

sum_n=0

for i in range(1,n+1,1):

sum_n=sum_n+i*i

print(sum_n)

输出:

请输入一个正整数n:10

385

解析:range中的end设为n+1,才能取到n。如果range中的begin缺省,则默认为0,step缺省,默认为1。也就是说,这个程序中的range也可以写成range(1,n+1)。使用range是为了能够清楚地看到循环的次数。

实际上,for循环还有一种格式:

for  in:

/

else:

可迭代对象是指可按次序逐个读取的对象,比喻说列表(用方括号括起来的用逗号隔开的数据,如[1,2,3,4,5])。

注意:如果没有取完集合中的元素就跳出循环,就不会支持else后面的。

示例:求32,43,12,23,1,3,5的和与平均值。

源代码:

list1=[32,43,12,23,1,3,5]

j=0

sum1=0

for i in list1:

sum1+=i

j=j+1

print("和为:",sum1)

print("平均值为:",sum1/j)

输出:

和为: 119

平均值为: 17.0

2、while循环

格式:

while:

(语句块)

else:

执行流程:当循环条件为真是,执行循环体中的语句,再检查循环条件是否为真,直到循环条件为假,结束循环,执行else后面的语句块2,。如果从循环体内的语句退出循环,就不会执行else中的语句块2。

python控制结构是_Python之控制结构(if、while、for)相关推荐

  1. python控制结构(二)_Python程序控制结构---2

    类:数据+方法 变量名没有类型 对象才有类型 类型一旦确定,其可做的操作取决于此类型所支持的方法 . 号运算符 可调用属性:数据 返回一个数据,显示需要使用print语句 可调用方法:操作() 调用: ...

  2. Python学习教程(Python学习视频_Python学些路线):Day05 总结和练习

    Python学习教程(Python学习视频_Python学些路线):总结和练习 练习清单 寻找"水仙花数". 寻找"完美数". "百钱百鸡" ...

  3. 视频教程-快速入门Python基础教程_Python基础知识大全-Python

    快速入门Python基础教程_Python基础知识大全 十余年计算机技术领域从业经验,在中国电信.盛大游戏等多家五百强企业任职技术开发指导顾问,国内IT技术发展奠基人之一. 杨千锋 ¥99.00 立即 ...

  4. Python学习教程(Python学习视频_Python学习路线):Day04循环结构

    Python学习教程(Python学习视频_Python学习路线):循环结构 循环结构的应用场景 如果在程序中我们需要重复的执行某条或某些指令,例如用程序控制机器人踢足球,如果机器人持球而且还没有进入 ...

  5. c语言 控制结构 条件,C语言控制结构-选择.ppt

    C语言控制结构-选择 3 选择结构 3 例:编写程序从键盘输入一个字母(可能是大写也可能是小写)输出该字母的小写形式 恬炮刘痒寿揪摘熄航妙饿情盾亨茹蜕殉钦株坟央栅檬是碾乏鲜渺鸿马杀践C语言控制结构-选 ...

  6. 视频教程-快速入门Python基础教程_Python基础进阶视频-Python

    快速入门Python基础教程_Python基础进阶视频 十余年计算机技术领域从业经验,在中国电信.盛大游戏等多家五百强企业任职技术开发指导顾问,国内IT技术发展奠基人之一. 杨千锋 ¥199.00 立 ...

  7. Python学习教程(Python学习路线_Python基础学习教程_Python视频教程):初学者新手怎样快速入门Python

    Python学习教程(Python学习路线_Python基础学习教程_Python视频教程):初学者新手怎样快速入门Python? 人生苦短,我用Python!!!短短几个字,现在在各大学习类平台随处 ...

  8. python程序控制结构_python程序控制结构

    四.程序控制结构 4.1 分支结构 4.1.1 单分支结构 基本构成: if <条件>: <语句1> 基本实例: guess=eval(input()) if guess==9 ...

  9. python控制结构(二)_Python学习手册之控制结构(二)

    在上一篇文章中,我们介绍了Python的一些控制结构,现在我们继续介绍剩下的 Python 控制结构.查看上一篇文章请点击:https://www.cnblogs.com/dustman/p/9972 ...

最新文章

  1. 独家 | 手把手教你组织数据科学项目!(附代码)
  2. 基于策略的路由(下)
  3. springmvc 传参Required String parameter 'xxxx' is not present
  4. 15 款Python编辑器的优缺点,别再问我“选什么编辑器”啦!
  5. 计算机网络自顶向下方法【七】——链路层
  6. tf.slice解析
  7. VS扩展CodeMaid代码整理插件
  8. leetcode147 对链表进行插入排序
  9. LeetCode 1562. 查找大小为 M 的最新分组
  10. PHP 程序员如何设计一个爬虫程序
  11. C++高质量编程点滴
  12. angelababy机器人唱_被Angelababy、周震南等摸头杀?这个机器人为什么受宠
  13. C#兼容PHP的GZip算法
  14. Linux 硬盘故障修复
  15. ppm/℃是什么单位?什么意思?
  16. 数字图像处理笔记(八)彩色图像和彩色图像直方图均衡化
  17. android7.1修改默认休眠时间为1分钟
  18. DOS命令diskpart格式化磁盘
  19. Ajax库-认识服务器,URL地址,axios基本用法,响应状态码,业务状态码,接口测试工具
  20. 小米路由器3无线网连接到服务器,192.168.31.1小米路由器手机登录设置方法

热门文章

  1. 代码审查就是在排大便——你懂的!
  2. iphone android 开发指南 http://mobile.tutsplus.com
  3. 开发chrome 插件, background.js中 console log 看不到解决方法
  4. C++异常 返回错误码
  5. ios 前端时间显示NaN异常解决办法
  6. Linux下解决“shutdown: command not found“问题
  7. yum安装出现Error: Package: glibc-headers-2.17-157.el7.x86_64 (centos7.3)类似报错解决方案
  8. mysql启动失败的一个解决方法
  9. Office安装时报错1907的解决方法
  10. Codis——分布式Redis服务的解决方案