Python程序的三种基本控制结构(带你认识程序控制结构)
一、程序控制结构
程序控制结构是指以某种顺序执行的一系列动作,用于解决某个问题。理论和实践证明,无论多复杂的算法均可通过顺序、选择、循环3种基本控制结构构造出来。每种结构仅有一个入口和出口。由这3种基本结构组成的多层嵌套程序称为结构化程序。
二、结构化程序设计(一)结构化基本原则
1、自顶向下
程序设计时,应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。不要一开始就过多追求众多的细节,先从最上层总目标开始设计,逐步使问题具体化。
2、逐步求精
逐步求精是人类解决复杂问题时采用的基本方法,也是许多软件工程技术的基础。将现实问题经过几次抽象(细化)处理,最后到求解域中只是一些简单的算法描述和算法实现问题。即将系统功能按层次进行分解,每一层不断将功能细化,到最后一层都是功能单一、简单易实现的模块。求解过程可以划分为若干个阶段,在不同阶段采用不同的工具来描述问题。在每个阶段有不同的规则和标准,产生出不同阶段的文档资料。
3、模块化
一个复杂问题,肯定是由若干稍简单的问题构成。模块化是把程序要解决的总目标分解为子目标,再进一步分解为具体的小目标,把每一个小目标称为一个模块。
4、限制使用goto语句
在程序比较简单是用goto语句是比较灵活,但是当程序比较复杂时很容易造成程序流程的混乱。利用goto语句对以后的后别人看程序是很难理解。调试程序的过程也会变得很困难。
注意:C语言和Java语言保留了goto关键字,而Python语言没有goto关键字。
(二)三种流程控制结构
1、顺序结构(Sequence Structure)2、选择结构(Selection Structure)3、循环结构(Loop Structure)(1)前测试条件循环
前测试条件循环:先检票后上车(有可能一次循环操作也不执行)
(2)后测试条件循环
后测试条件循环:先上车后检票(无论如何至少要执行一次循环操作)
注意:C语言和Java语言提供了前测试和后测试循环结构,但是Python语言只有前测试循环结构
二、顺序结构
有一个入口和一个出口,按从上向下依的顺序执行各语句。
(一)顺序结构示意图
(二)顺序结构案例演示任务1、计算三角形面积
利用海伦公式计算三角形面积
编写程序 - 计算三角形面积.py
# -*- coding: utf-8 -*-
"""
功能:计算三角形面积
"""
from math import sqrt
a = float(input('a = '))
b = float(input('b = '))
c = float(input('c = '))
p = (a + b + c) / 2
area = sqrt(p * (p - a) * (p - b) * (p - c))
print('area = {:.2f}'.format(area))
运行程序,查看结果
任务2、求解一元二次方程
编写程序 - 求解一元二次方程.py
# -*- coding: utf-8 -*-
"""
功能:求解一元二次方程
"""
from math import sqrt
a = float(input('a = '))
b = float(input('b = '))
c = float(input('c = '))
delta = b**2 - 4 * a * c
x1 = (-b + sqrt(delta)) / (2 * a)
x2 = (-b - sqrt(delta)) / (2 * a)
print('x1 = {}\nx2 = {}'.format(x1, x2))
运行程序,查看结果
再运行程序,查看结果
(三)顺序结构小结
顺序结构很简单,按照语句书写次序,依次从上往下执行。上述两个案例,大家可以看到,遇到不能求解的情形,就会抛出一个错误(ValueError……),那并不是我们想要的结果。
我们需要事先对能否求解进行判断,如果能求解,那么我们就计算给出结果;如果不能求解,我们就给出相应提示,告诉用户不能求解,这样处理,对用户比较友好。怎么根据情况不同来执行不同的操作呢?这就是我们下一讲的内容——选择结构。
原文地址:https://tangjiusheng.cn/it/937.html
- 在Python中//是什么意思(一文搞懂Python中的运算符)
- python index函数怎么用(python index方法详解)
- 全局变量和局部变量有什么区别(python中的全局变量和局部变量介绍)
- python input函数用法(python把input变成数字)
- python中str函数是什么意思(一文了解str函数)
- python中+=是什么意思(python算术运算符的使用)
- Python读取txt文件内容(读取文件的六种方式)
- python中ord函数是什么意思(详解ord函数)
- 学会python能干嘛可以从事什么工作(python编程是干什么的)
- python语言特点是什么(快速了解python编程语言的特点)