Python程序设计实例 | 控制结构

简介: * 建议Python采用3.10及以上版本,NumPy采用1.22.3及以上版本,Matplotlib采用3.5.1及以上版本,Pandas采用1.4.2及以上版本。Python从3.10这个版本开始,标准发行版本中自带的IDLE交互式环境中输入提示符>>>单独放在左侧,不能随输入语句一起复制。为了清晰区分实例在交互环境中的输入和输出,本系列推文在每个输入语句的开头依然保留输入提示符>>>。

640.jpg

01、控制结构的应用实例

实例描述:输入若干同学的计算机成绩,成绩分布在[0,120]区间内。求出这些同学的计算机成绩平均值、最小值和最大值。输入出现负数时终止输入,且该负数不计入统计范围。

分析: 因为平均值是所有成绩之和再除以人数,所以设置总分变量iSum初始值为0,计数总人数的变量sCnt为0。因为需要求成绩的最大值和最小值,所以设置成绩最大值变量sMax在循环开始前是一个非常小的数,譬如是-100; 设置成绩最小值变量sMin在循环开始前是一个非常大的数,譬如是150。

在程序运行时依次输入若干同学的计算机成绩,存入变量aScore,以输入负数结束输入。每输入一名同学的成绩就进行以下操作。

(1) 将该学生的计算机成绩累加到变量iSum中。

(2) 对人数计数变量sCnt增加1。

(3) 判断该学生的成绩与成绩最大值的关系,如果该生成绩大于成绩最大值,则将成绩最大值修改为该生的成绩值,否则不做任何操作。

(4) 判断该学生的成绩与成绩最小值的关系,如果该生成绩小于成绩最小值,则将成绩最小值修改为该生的成绩值,否则不做任何操作。

(5) 输入下一名学生的成绩,继续做上述步骤(1)~步骤(4)的操作,直到输入负数结束。

通过上述分析可见,需要利用循环控制结构实现上述步骤(1)~步骤(5)操作,循环结束的条件是输入的成绩值为负数。而对变量iSum、sCnt、sMax和sMin的赋初值要放到循环体以外。步骤(3)和步骤(4)需要用分支控制结构实现。而步骤(5)的输入下一名学生的成绩,是推动程序进入下一轮循环的关键。

程序源代码如下:

#example3_18.py
# coding =gbk
iSum =0
sCnt =0
sMax= -100
sMin=150
aScore = int(input(请输入一名同学的成绩:))
while aScore>=0:
iSum =iSum +aScore
sCnt = sCnt +1
if aScore> sMax:
sMax =aScore
if aScore < sMin:
sMin =aScore
aScore = int(input请输入下一名同学的成绩:))print(计算机平均成绩:’iSum/sCnt)print(计算机成绩最高分:’sMax)print( 计算机成绩最低分:,sMin)
aScore = int(input请输入下一名同学的成绩:))print(计算机平均成绩:’iSum/sCnt)print(计算机成绩最高分:’sMax)print( 计算机成绩最低分:,sMin)

程序example3_18.py的一次运行结果:

请输入一名同学的成绩:65
请输入下一名同学的成绩:70
请输入下一名同学的成绩:56
请输入下一名同学的成绩:89
请输入下一名同学的成绩:100
请输人下一名同学的成绩:95
请输人下一名同学的成绩:78
请输入下一名同学的成绩:88
请输入下一名同学的成绩:94
请输入下一名同学的成绩:103
请输入下一名同学的成绩:7
请输入下一名同学的成绩:- 1
计算机平均成绩:76.81818181818181
计算机成绩最高分:103
计算机成绩最低分:7

思考: 如果正确成绩位于[0,100]这个区间,也就是最高分只能是100分,那么我们就输入了一个错误的分数103。那么如何修改程序,可以使我们在输错成绩时有提示出现,并可以继续输入其他成绩呢?

目录
相关文章
|
3天前
|
Python
Python 练习实例15
Python 练习实例15
|
3天前
|
Python
Python 练习实例14
Python 练习实例14
|
3天前
|
Python
Python 练习实例13
Python 练习实例13
|
3天前
|
人工智能 数据挖掘 大数据
538个代码示例!麻省理工教授的Python程序设计+人工智能案例实践
Python简单易学,且提供了丰富的第三方库,可以用较少的代码完成较多的工作,使开发者能够专注于如何解决问题而只花较少的时间去考虑如何编程。 此外,Python还具有免费开源、跨平台、面向对象、胶水语言等优点,在系统编程、图形界面开发、科学计算、Web开发、数据分析、人工智能等方面有广泛应用。 尤其是在数据分析和人工智能方面,Python已成为最受开发者欢迎的编程语言之一,不仅大量计算机专业人员选择使用Python进行快速开发,许多非计算机专业人员也纷纷选择Python语言来解决专业问题。 由于Python应用广泛,关于Python的参考书目前已经有很多,但将Python编程与数据分析、人工智
|
2天前
|
数据采集 前端开发 JavaScript
python语言通过简单爬虫实例了解文本解析与读写
python|通过一个简单爬虫实例简单了解文本解析与读写
|
3天前
|
Python
Python 练习实例12
Python 练习实例12
|
3天前
|
Python
Python 练习实例11
Python 练习实例11
|
3天前
|
Python
Python 练习实例10
Python 练习实例10
|
16小时前
|
Python
Python 练习实例18
Python 练习实例18
|
16小时前
|
Python
Python 练习实例17
Python 练习实例17