实验五 综合运用三种基本结构进行程序设计(综合性实验)
安徽工程大学
Python程序设计实验报告
班级 物流192 姓名 徐敏 学号 3190505232 成绩 _____
日期 2020.4.26 指导老师 修宇
实验五 综合运用三种基本结构进行程序设计(综合性实验)
【实验目的】
(1)进一步掌握选择与循环结构程序设计的方法和技巧;
(2)综合运用三种基本结构进行程序设计;
【实验条件】
PC机或者远程编程环境
【实验内容】
1、完成三个编程题。
1)计算并输出指定范围内的素数
素数又称质数。指整数在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。换句话说,只有两个正因数(1和自己)的自然数即为素数。比1大但不是素数的数称为合数。1和0既非素数也非合数。素数在数论中有着很重要的作用。2300多年前,古希腊数学家欧几里得在《几何原本》一书中证明了素数有无穷多个,如2、3、5、7、11等等。
描述:
编程实现输出指定范围内的素数,输入以逗号间隔,输出以空格间隔。指定范围由用户输入指定。
2)九九乘法表
描述
请按照如下格式设计一个“九九乘法口诀表”,并打印出来。
编程要点及提示
1. 使用for循环或者while循环实现以上功能
2. 代码量不超过10行
3. 在一行中,每个等式之间使用制表符"\t"进行分隔;
对于每一行等式之间使用print()打印空字符实现,即
print("")
3)统计不同字符个数
描述
用户从键盘输入一行字符。请编写一个程序,统计并输出其中英文字符、数字符号、空格和其他字符的个数。
输入格式
输入一行字符
输出:按照顺序输出字母,数字,空格,及其他字符的个数,个数以空格分隔
如:
【实验记录与分析】(请在填写实验记录与分析结果)
1)计算并输出指定范围内的素数
①审题,明确“描述”,以及“输入输出类型”。
②判断程序所需要的基本结构。
很明显,此程序三种基本结构都要用到,需要注意的是循环结构的使用。
③理清思路,尝试编写程序(在IDLE上)
第一次编写:程序出现错误:SyntaxError: unexpected EOF while parsing “解释器到底了都没找到它要找到的东西”
经过查找资料后,仔细对比发现:第一次编写的程序输入两个数字时,若依次输入,且一定分成两行,程序才可以运行(如下图);但是描述中的输入类型是一次输入,故程序出现错误。
所以,第一次编写的程序的问题在程序的输入部分。
④发现问题后,进行修正(在IDLE上)。
修改后的程序运行时完全符合“描述”和“输入输出示例”。
⑤将正确的程序输入到Python123中,完成编程题。
2)九九乘法表
①审题,明确“描述”,以及“编程要点及提示”。
②判断程序所需要的基本结构。
易知,该程序主要运用循环结构
③理清思路,尝试编写程序(在IDLE上)。
第一次编写的程序及其运行结果如下:
发现:程序虽然可以运行,但运行结果和“描述”中的图片示例有区别,所以程序有问题。
经过仔细检查后,发现问题出在第四行中。
④发现问题后,进行修正(在IDLE上)。
运行结果完全符合。
⑤将正确的程序输入到Python123中,完成编程题。
3)统计不同字符个数
①审题,明确“描述”,以及“编程要点及提示”。
②判断程序所需要的基本结构。
三种基本结构都需要,主要是分支结构和循环结构。
③理清思路,尝试编写程序(在IDLE上)。
思路:可使用ord()函数,返回对应字符的ASCII数值,或者Unicode数值,根据数值大小,判断它处于哪个范围,一个范围对应一个字符类型。
编写程序及运行结果:
程序没有问题,可以运行,但输入时出现问题:将英文分号“ ;”打成了中文分号“;”,导致少输入一个空格,使输出结果与“输入输出示例”不同
明白问题后修改输入字符串,运行结果完全吻合。
④将正确的程序输入到Python123中,完成编程题。
【拓展题】