python程序设计实验报告(A98)

来源:银行招聘 发布时间:2021-08-01 点击:

  广 广 州 商 学 院

 实验报告册(软件)

 信息技术与工程学院软件工程专业 2019 年级 4 班

 2020

 - 2021 学年第

 1

 学期

 课程名称:

  python 程序设计

  姓

 名:

 学

 号:

 目 目

 录 实验一初识 python……………….…………………………………... 2 实验二 ………………………………………………………………... 5 实验三 ………………………………………………………………… 8 实验四 ……………………………………………………………….. 11 实验五 ……………………………………………………………….. 14 实验六 ……………………………………………………………….. 17 实验七 ……………………………………………………………….. 20 实验八 ……………………………………………………………….. 23 实验九 ……………………………………………………………….. 26 实验十 ……………………………………………………………….. 29 实验十一 …………………………………………………………….. 32 实验十二 …………………………………………………………….. 35

  1 广 广 州 商 学 院 实验报告(第 1 次)

 实验名称 初识 python

 实验时间:

 2020.9.9

  一.

 实验目的

 对 python 有初步的了解 二.

 实验内容 1. 完成教材例题 ex0101~ex0104.p 2. 计算圆椎体体系积 3. 计算存款收益 4. 使用 Python 帮助文档中的函数实现计算

 三.

 源程序及主要算法说明

  2

  3 四.

 主要问题和解决方案 对 python 的语法尚未能够很好的使用,通过查阅书籍及上网寻找等方式将问题解决

 五.

 测试数据及结果

 六.

 心得体会与自我评价 通过这次的实验能够充分的了解到 python 的使用方法,能够了解到python 与 java 的区别之处。

 七.

 教师评分

  4 广 广 州 商 学 院 实验报告(第 2 次)

 实验名称:

  Python 基础知识

 实验时间:2020.9.18

 一 一. 实验目的 (1)

 充分掌握字符串的处理方法 (2)

 能够熟悉地掌握字符串中的函数 (3)

 能够熟悉地设计 python 程序的流程 二.实 验内容 实验 1:

 :

 调试完成教材例题 。

 要求:掌握代码缩进、注释、数据类型、运算符等基础知识。

 验

 实验 2 :分析下面各语句的输出结果。

 。

 01 >>>0.2+0.4==0.6 02 >>>round(0.2+0.4,1)==0.6 03 >>>0xAF 04 >>>9**0.5 05 >>>-10%-3 06 >>>-3**2 07 >>>4.0+3 08 >>>12 and 34 提示:

 (1)浮点数运算存在不确定的尾数,测试 0.2+0.4 的结果是

  5 0.6000000000000001 (2)0x 开头表示这是一个十六进制整数。

 (3)**表示幂运算,指数如果是小数,表示根式运算,结果为浮点类型数据。

 实验 3 :阅读并解析程序。

 要求:两个变量的值互换。若 x 值为 3,y 值为 4,则互换后 x 的值为 4,y 的值为 3。程序 代码如下。

 01 #demo0201.py 02 x=eval(input("请输入 x 的值:")) 03 y=eval(input("请输入 y 的值:")) 04 print("输入值:x=",x,"y=",y) 05 t=x 06 x=y 07 y=t 08 print("互换后:x=",x,"y=",y) 提示:两数互换算法,首先 t=x 语句将 x 的值存于临时变量 t 中,然后 x=y 语句将 y 的值赋 予 x,最后 y=t 语句将 t 中保存的 x 的原始值赋予 y,从而实现 x 和 y 数值的互换。

 也可以使用同步赋值语句实现两数互换 x,y=y,x 实验 4 :编写程序,计算并输出方程的实数根。

  6 要求:输入一元二次方程 ax 2 +bx+c=0 的参数 a、b、c,计算并输出方程的实数根(结果保 留两位小数)。若方程没有实数根,输出“方程没有实数根”。

 提示:

 p=b*b-4*a*c if p>0: x1=(-b+math.sqrt(p))/(2*a) x2=(-b-math.sqrt(p))/(2*a) 三. 源程序及主要算法说明 四.主要问题和解决方案 在实验过程中存在一些问题,比如对函数的使用方法掌握地不是很熟练,在编写代码时没有注意代码的缩进,导致花费了很多时间,在后面通过查找书籍,和上网查找资料的方式将问题解决。

 五 五. 测试数据及结果

  7

  8

  9 六.

 心得体会与自我评价 通过本次实验,充分了解了字符串的处理方法和字符串函数的使用,能够很快速地反应该用什么函数,在编写代码过程中也能更加细心地去编写

 七.

 教师评分

  10

  广 广 州 商 学 院 实验报告(第 3 次)

 实验名称:

 Python 中的字符串

  实验时间:

  2020.9.19

  一.

 实验目的

 充分认识 python 中字符串的使用 二.

 实验内容、 实验 1 :调试完成教材例题 。

 实验 2 :分析代码运行结果。

 要求:阅读下面的语句,分析其功能。代码如下 >>> first_name="chris" >>> last_name="Wilson" >>> full_name=first_name+" "+last_name >>> print("Hello, "+full_name.title()+"!"+" "*3+"Nice to meet you.") >>> language="python" >>> print(language.upper()) >>> print(language) >>> product_num="201906C15M" >>> print(product_num[6]) >>> print(product_num[-1])

 >>> print(product_num[4:6])

  11 >>> print(product_num[:4]) >>> print(product_num[-3:-1]) >>> print("m" in product_num)实验 3 :分析代码运行结果。

 要求:阅读下面的程序代码,分析其功能。

 01 >>> name="Evan" 02 >>> money=45.7803 04 >>> number=10 05 >>> print("%10s paid $%-6.1f for %d apples."%(name,money,number)) 06 07 >>> print("{0:*^10} paid ${1:<6.1f} for {2:d} apples".format(name, money,number)) 08 提示:(1)第 5 行,采用格式化操作符%对输出字符串进行格式化,用法是将跟在字符串后 面的%后的值插入对应的有格式控制符的字符串中。其中,格式控制符%s 用来格式化字符 串;%f 用来格式化浮点数,可指定小数点后的精度;%d 用来格式化十进制整数。例如,%-6.1f 对变量 money 进行格式化,6 为宽度,.1 为小数位数,-表示左对齐。

 (2)第 7 行,采用 str.format()方法对输出字符串进行格式化。模板

  12 字符串 str 中可包括 4 多个{}表示的占位符,与 format()方法中的对应参数进行匹配。模板字符串的{}内部可以使 用{<参数序号>:<格式控制标记>}的方式来对关联参数的输出格式进行控制。例如,{0:*^10} 中,0 为参数序号,10 为宽度,*为填充字符,^表示居中对齐。

 验 实验 4 :编程实现英文句子反转功能。

 要求:给定一个只包括字符和空格的句子,将句子中的单词位置反转后输出。输入的句子占 一行,各个单词之间以空格分隔。例如,输入 this is a test,输出 test a is this。

 提示:(1)将输入的字符串用 split()函数分隔,转换为列表,将列表反转后再生成字符串。

 (2)使用 str[::-1]”将列表反转。

 (3)使用“" ".join(a)”函数,功能是以空格为分隔符,将列表 a 中的所有元素合并为一 个新的字符串。

  13 三.

 源程序及主要算法说明 无

 四.

 主要问题和解决方案 无法很熟练地使用字符串的操作方法,通过查阅书籍和上网查找资料的方法逐渐认识操作方法

 五.

 测试数据及结果

  14

  15

  16 六.

 心得体会与自我评价 通过本次实验,能够了解字符串的使用方法,同时也是很好的明白如何更快的编译出自己想要的字符串编码

 七.

 教师评分

  17 广 广 州 商 学 院 实验报告(第 4 次)

 实验名称:Python 程序的流程

 实验时间:

 2020.9.23

  一.

 实验目的

 充分了解 Python 程序的流程的结构 二.

 实验内容

 实验 1 :编程计算 1 ~100 偶数的和

 实验 2 :编程计 算字符的个数 实验 3:

 :

 编程计算序列和。

 实验 4:

 :

 阅读程序,分析下面程序完成的功能。

 实验 5:

 :个 编程输出一个 m 行 行 n 列的字符矩形。

 三.

 源程序及主要算法说明 无

  四.

 主要问题和解决方案 对于如何建造流程结构不是很了解,通过与同学讨论和上网查阅资料,解决了问题

  18 五.

 测试数据及结果

  19 六.

 心得体会与自我评价 通过本次实验充分的明白了 python 的流程结构

 七.

 教师评分

  20

  广 广 州 商 学 院 实验报告(第 5 次)

 实验名称:

 Python 的组合数据类型

  实验时间:

 2020.9.30

 一.

 实验目的

 通过本次实验能够熟练地掌握 python 的组合数据类型 二.

 实验内容

  实验 1:

 :

 完成教材例题。

  实验 2:

 :

 编写程序,模拟栈操作。

 实验 3:

 :

 编写程序,完成字典操作。

 实验 4:

 :

 列表中的数据统计的实现。

 实验 5:

 编写程序,计算和、平均值、方差 三.

 源程序及主要算法说明 无

 四.

 主要问题和解决方案 在本次实验中,遇到了对数据类型的错误使用,导致编程出错的问题,通过查找书本和与同学讨论解决了问题

 五.

 测试数据及结果

  21

  22

  23

  24

  25

  六.

 心得体会与自我评价 通过本次实验,从错误中发现了问题,并解决了问题,明白了数据类型如何正确使用

 七.

 教师评分

  26 广 广 州 商 学 院 实验报告(第 6 次)

 实验名称:

 用函数实现代码复用

  实验时间:

 2020.10.9

  一.

 实验目的 了解并掌握函数的定义、调用及参数传递,以及一些内置函数的应用 二.

 实验内容

 实验 1 :编程求两点之间的曼哈顿距离。

 要求:主程序代码如下,实现函数 abs()。

 01 #主程序 02 x1,y1=eval(input("输入 A 点坐标,以逗号分隔:")) 03 x2,y2=eval(input("输入 B 点坐标,以逗号分隔:")) 04 mht=abs(x1-x2)+abs(y1-y2) 提示:给出平面上两个点的坐标,平面上点 A(x1,y1)与点 B(x2,y2)的曼哈顿距离为:

 |x1-x2|+|y1-y2|。

 验 实验 2 :编写函数,计算某班级学生考试的平均分。

 。

 要求:(1)班级共 10 人,计算平均分时可以根据全部人数或者实际参加考试人数计算。

 (2)完成 avgScore()函数。

 01 #demo0503.py 02 def avgScore(scores,n=10): 03 …… …… 07 #主程序 08 scores=[90,88,76,45,77,95,66,88,91] 09 print("按班级人数计算的平均值:{:.2f}".format(avgScore(scores))) 10 print("按考试人数计算的平均值:{:.2f}".format(avgScore(scores,len (scores)))) 提示:

 (1)定义函数 avgScore()时,参数 n 为默认参数,其默认值为 10。在调用函数 avgScore() 时,如果没有传入 n 的实参,则 n 取默认值;如果传入 n 的实参,则函数会使用传递给 n 的新值。

 (2)函数 avgScore()用于计算考试成绩的平均分,接收列表类型的参数 scores,遍历列 表 scores,计算元素的累加和 s,返回 s/n 的值。

 验 实验 3 :编写函数,利用可变参数计算一组数的最大值。

 提示:部分代码如下,请补全代码。

  27 01 #demo0504.py 02 def maxnum(*nums): 03 …… 04 05 06 07 08 #主程序 09 print(maxnum(-1,34,-9,56)) 10 print(maxnum(1,4,6,95,3,78)) 验 实验 4 :分析 程序的功能及 程序中变量的作用域。

 要求:程序代码如下,分析程序中变量 s、ls 的作用范围。

 8 01 #demo0507.py 02 def addLetter(a): 03 global s 04 s+=1 05 ls.append(a) 06 return 07 #主程序 08 ls=["G","g"] 09 s=0 10 while True: 11 x=input("请输入要加入列表的字符:") 12 addLetter(x) 13 if input("继续吗(y/n):")=="n": 14 break 15 print("加入字符后的列表:",ls) 16 print("增加的新元素个数为:",s) 提示:函数中的变量默认为局部变量,作用域为函数内部,即使与函数外部变量同名,也不 会影响函数外部变量的值。而用 global 声明的变量为全局变量,作用域为整个程序。列表等 组合数据类型作为一种特殊的参数,如果在函数内部没有重新定义,则默认为全局变量。

  28 三.

 源程序及主要算法说明

 6.1

  def get_abs(mht):

  return abs(mht) x1,y1=eval(input("输入 A 点坐标,以逗号分隔:")) x2,y2=eval(input("输入 b 点坐标,以逗号分隔:")) mht=abs(x1-x2)+abs(y1-y2) print(mht)

  6.2

  #dome0503.py """ 定义函数

 avgScore() 时,参数

 n 为默认参数,其默认值为

 10 。在调用函数

 avgScore() 时,如果没有传入

 n 的实参,则

 n 取默认值;如果传入

 n 的实参,则函数会使用传递给

 n 的新值。

 """ def avgScore(scores,n=10):

  s=0 #初始化 s

 for i in range(len(scores)):

  #遍历从 0 开始的 scores

 s+=scores[i]

  #scores;里面的元素相加等于 s

 return s/n

  #返回值为 s/n

 scores = [90, 88, 79, 45, 77, 95, 66, 88, 91] print("按班级人数计算的平均值:{:.2f}".format(avgScore(scores))) print("按考试人数计算的平均值:{:.2f}".format(avgScore(scores,len(scores)))) 6.3 #dome0504.py def maxnum(*nums):

  #定义最大值函数

  m=nums[0];

  #初始化个数

  for i in nums:

 #遍历 num 中的 i

  if i>m:

 #如果 i 大于最大值则 i 为最大值

 m=i

  return m

 #返回值为最大值

  29

 print(maxnum(-1,34,-9,56)) print(maxnum(1,4,6,95,3,78)) 6.4 #dome0507 def addLetter(a):

  global s

 #全局变量

  s+=1

  ls.append(a) #局部变量

  return

 ls=["G","g"] s=0 while True:

  x=input("请输入要加入列表的字符:")

  addLetter(x)

  if input("继续吗{y/n}:")=="n":

  break print("加入字符后的列表:",ls) print("增加的新元素个数为:",s)

  四.

 主要问题和解决方案 对函数的调用及参数的传递没有理解明白,在做实验过程中,通过...

推荐访问:程序设计 实验 报告
上一篇:第一单元《富强与创新》测试题,,2021-2022学年人教版道德与法治九年级上册
下一篇:最后一页

Copyright @ 2013 - 2018 优秀啊教育网 All Rights Reserved

优秀啊教育网 版权所有