Python程序的三种基本控制结构(带你认识程序控制结构)

 分类:IT知识时间:2022-10-10 07:30:02点击:

一、程序控制结构

程序控制结构是指以某种顺序执行的一系列动作,用于解决某个问题。理论和实践证明,无论多复杂的算法均可通过顺序、选择、循环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……),那并不是我们想要的结果。

  • 我们需要事先对能否求解进行判断,如果能求解,那么我们就计算给出结果;如果不能求解,我们就给出相应提示,告诉用户不能求解,这样处理,对用户比较友好。怎么根据情况不同来执行不同的操作呢?这就是我们下一讲的内容——选择结构。

除注明外的文章,均为来源:老汤博客,转载请保留本文地址!
原文地址: