安徽工程大学
Python程序设计 实验报告
班级 物流191 姓名 许宇晨 学号 3190505109 成绩
日期 2020年3月3日 指导教师 修宇
实验五 综合运用三种基本结构进行程序设计(综合性实验)(二学时)
【实验目的】
(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)统计不同字符个数
描述
用户从键盘输入一行字符。请编写一个程序,统计并输出其中英文字符、数字符号、空格和其他字符的个数。
输入格式
输入一行字符
输出:按照顺序输出字母,数字,空格,及其他字符的个数,个数以空格分隔
如:
【实验记录与分析】
实验一:
输入:
结果:
答案分析:
a,b=eval(input()) # 输入指定范围
if a>b: #如果a比b大,交换ab,确保a比b小
a,b=b,a
if a==1: #因为1不是素数,所以如果指定范围从1开始,应从2开始筛选素数
a=a+1
for x in range(a,b+1): #在从a到b的范围内对每个数判断是否素数
flag=1 #标志变量默认是素数为1,对每个x都要重新置1
for i in range(2,x): #列举除了1和x本身的所有自然数,存在i中
if x%i==0: #判断i是否是x的因数
flag=0 #x不是素数,将标志变量置为0
break #提前结束判断因数的循环
if flag==1: #如果标志变量还保留为1,说明没有一个i是x的因数,即素数
print(x, end=' ') #按格式要求输出素数x
错点: else缩进错误
分析:
else语句不能和里面的if对齐。
当i为3时,j的范围是[2,3),j为2时,i%j不等于0,else输出一个3,
当i为5时,j的范围是[2,5),j为2时,i%j不等于0,else输出一个5,
j为3时,i%j不等于0,else输出一个5,
j为4时,i%j不等于0,else输出一个5,
i=7和=9时,输出了五个7,一个9。
实验二:
结果:
实验三:
结果: