下面是小编为大家整理的Python实验报告,供大家参考。
-
(理工类)
课程名称: Python编程技术专业班级: 18大数据学生学号: 1813041019 学生姓名:张宇航所属院部:计算机工程指导教师:王凯
2019——2020学年第 2 学期
金陵科技学院教务处制
实验报告书写要求
实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。纸张一律采用A4的纸张。
实验报告书写说明
实验报告中一至四项内容为必填项,包括实验目的和要求;实验仪器和设备;实验内容与过程;实验结果与分析。各院部可根据学科特点和实验具体要求增加项目。
填写注意事项
(1)细致观察,及时、准确、如实记录。
(2)准确说明,层次清晰。
(3)尽量采用专用术语来说明事物。
(4)外文、符号、公式要准确,应使用统一规定的名词和符号。
(5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。
实验报告批改说明
实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。
实验报告装订要求
实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。
实验项目名称:变量与数据类型实验学时: 6 同组学生姓名:实验地点:科技楼2-607-1 实验日期:实验成绩:
批改教师:王凯批改时间:
实验一变量与数据类型
一、实验目的和要求
1)熟悉Anaconda + Spyder集成开发环境,进行编辑、保存、编译及运行,并能进行简单程序调试;
2)掌握Python语言中各种变量及运算符的使用;
3)掌握Python语言中简单数据类型的区别与应用;
4)掌握Python语言中列表、元组、字典等复杂数据类型的用法;
5)掌握Python语言中循环结构、分支结构的用法。
二、实验仪器和设备
微型计算机,装有Windows操作系统和Anaconda环境平台。
三、实验内容与过程
实验中如无特别说明,均要求使用脚本(.py)方式编写代码。
1、编程题
1.1 编写程序,根据输入的三科成绩值,计算并打印平均值和总分。
说明:按格式化输出;
例如:输入为math = 130, eng = 101, chi = 126;输出为
print(“average score is {}, sum score is {}”.format(...))
1.2 编写程序,根据给出的三角形的三条边,输出三角形的面积。
说明:按格式化输出;
提示:三角形面积计算采用海伦公式。
1.3 编写程序,计算
球体体积。
说明:按格式化输出;
提示:球体体积公式为:V = 4/3×π×r^3 = π×d^3/6
1.4 编写程序,根据身高和体重计算BMI值,同时输出国际和国内BMI指标建议值所确定的指标分类信息。
说明:要求给出身高和体重值,并计算BMI值,根据其指标分类找到合适的
类别,最后打印出分类信息。
1.5 编写程序,计算1!+2!+…+10!的结果。
1.6 编写程序,打印出九九乘法口诀表。
说明:要求按行按列输出。
1.7 字典合并。输入两个字典,输出合并后的字典并按字典序排序,字典的键用
一个字母或数字表示。
说明:例如,给出输入{“a”:10, “b”:9}, {“c”:3, “a”:2},输出为{“a”:12, “b”:9, “c”:3}。
1.8 编写程序:1)打印出5000以内能同时被3、5、7整除的数的个数;2)打印出5000以内能被3、5、7任意一个数整除的数的个数(注意相同的数字不要重复统计)
1.9 编写程序,要求从键盘输入一个整数,将各位数字反转后输出。
说明:例如,输入123456,输出654321。
1.10 编写程序,计算12-22+32-42+…+972-982+992。
1.11 编写程序,从键盘输入两个正整数m和n,求其最大公约数和最小公倍数。
提示:在循环中,只要除数不等于0,用较大数除以较小的数,将小的一个数作为下一轮循环的大数,取得的余数作为下一轮循环的较小的数,如此循环直到较小的数的值为0,返回较小的数即为最大公约数。最小公倍数为两数之积除以最大公约数。
2、思考题
2.1编写程序,要求能够计算两个给定日期之间的天数(如今天距离建国多少天)。
说明:使用Python中的datetime.date(year,month,day)方法。这一函数可以返回一个date对象,其中表示年、月、日的三个参数不可以省略(from datetime import date)。三个参数的取值范围如下:
MINYEAR <= year <= MAXYEAR
1 <= month <= 12
1 <= day <=给定月份的最大日期数
这里要说明的是MINYEAR是1,MAXYEAR是9999。
2.2 编写程序,实现将十进制整数转换为二进制、八进制、十六进制。
说明:要求两种方式,一种为格式化字符串的形式,另一种采用Python内置函数实现,bin(dec)、oct(dec)、hex(dec)。
2.3 编写程序,实现猜数游戏。在程序中预设一个0~99之间的整数,让用户通过键盘输入所猜的数字,如果大于预设的数字,显示“太大了,请继续猜!”;如果小于预设的数字,显示“太小了,请继续猜!”;如此循环,直至猜中该数字,显示“预测N次,猜中了!”,其中N是用户输入字数的次数。
说明:例如,假定预设数字为51,用户输入67,打印出信息“太大了,请继续猜!”;
提示:获取用户键盘输入请查询eval()函数和input()函数的用法。
2.4 编写程序,实现打印出所有的“水仙花数”。
说明:“水仙花数”是指一个三位数,其各位数字立方和等于该数字本身,例如153就是一个水仙花数。
提示:查询math.floor()函数的用法。
2.5 编写程序,实现图的字典嵌套表示,每个顶点用一个字典表示。如下图中0点表示为:{"O":{"A":2,"B":5,"C":4}},其中表示一个顶点和该顶点相连的边及长度,要求输出整个图的顶点数num_vertices、边的个数num_edges以及边的总长度len_edges。
2.6 编写程序,实现如下图所示的数字金字塔。
四、实验结果与分析(程序运行结果及其分析)
1、编程题
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
1.10
1.11
2、思考题2.1
2.2
2.3
2.4
2.5
2.6
五、实验体会(遇到问题及解决办法,编程后的心得体会)
本次实验,对从网课中学习的python基本入门算法进行了巩固和应用,加深了对py基本语言的编写,如:数据类型的定义,各种运算符,条件语句if,elif,循环语句for,while。经过此次实验,对py产生了浓厚的编译兴趣,我会积极主动的编译python,也对下面的实验产生强烈好奇心。
实验项目名称:函数实验学时: 4 同组学生姓名:实验地点:科技楼2-607-1 实验日期:实验成绩:
批改教师:王凯批改时间:
实验二函数
一、实验目的和要求
1)掌握Python语言中函数的定义与调用;
2)掌握Python语言中函数参数传递与返回值;
3)熟悉模块的导入。
二、实验仪器和设备
微型计算机,装有Windows操作系统和Anaconda环境平台。
三、实验内容与过程
实验中如无特别说明,均要求使用脚本(.py)方式编写代码。
1、编程题
1.1 定义一个is_leap(year)函数,该函数可判断year是否为闰年。若是闰年,则返回True;否则返回False。
1.2 定义一个函数cubic(n),该函数返回1~n的立方和。
1.3 定义一个函数,该函数返回n项的阶乘和,即为1!+2!+…+n!。
1.4 定义一个函数prime(p),该函数返回素数,当用户传入参数p为素数时返回True,否则返回False。
1.5 定义一个函数show_prime(),将题目1.4中的函数封装成模块,在本题中导入该模块,并显示从1到100中的所有素数。
1.6 定义一个函数,该函数接受一个列表list作为参数,用于去除list中重复的元素。
1.7 编写一个函数change(str1),其功能是对参数str1进行大小写转换,将大写字母转换为小写字母;小写字母转换为大写字母;非英文字符不转换。
注意:该功能类似于str对象中的swapcase()方法
2、思考题
2.1 定义一个函数,要求输出n行n列的矩阵,以及其转置形式。
例如,当参数为3时,先输出①,再输出②
①②
2.2 实现一个函数funcos,用下列公式cos(x)近似值,精确到最后一项的绝对值小于eps(绝对值小于eps的项不要加,例如最后一项如果小于eps=0.0001,则不将其加进来):cos (x) = x^0 / 0! - x^2 / 2! + x^4 / 4! - x^6 / 6! + ?
函数接口定义:funcos(eps,x),其中用户输入的参数为eps和x;函数funcos 应返回用给定公式计算出来,保留小数4位。
2.3 机器龟绘图:Python带有一个能够模拟机器龟的龟图(turtle graphic)系统。该系统在屏幕上显示一个小的光标(表示机器龟)。可以使用Python语句来控制光标在屏幕上移动、绘制线段或图形。
要求:学习并使用turtle库绘制一个带正确颜色的奥运五环图形,五环线条宽度设置为5。
参考文档:https://http://www.wendangku.net/doc/31de5779a100a6c30c22590102020740bf1ecd4a.html /zh-cn/3/library/turtle.html
四、实验结果与分析(程序运行结果及其分析)
(附上程序清单,代码请使用12号Courier New字体加粗,并正确高亮)1.
实验代码:
def is_leap(xxx):
year = int(xxx)
if (year % 4 == 0) and (year % 100 != 0):
return True
elif year % 400 == 0:
return True
else:
return False
while(True):
year=input("输入一个年份:")
if year=="back":
import sys
sys.exit(0)
print("%s是闰年吗? %s" % (year, is_leap(year)))
实验结果:
2.
实验代码:
def cubic(n):
n=int(n)
sum=0;
for i in range (1,n+1):
sum+=i*i
return sum
while(True):
n=input("请输入整数n:")
if n=="back":
import sys
sys.exit(0)
print("1~%s的平方和为:%s"%(n,cubic(n))) 实验结果:
3.
实验代码:
def fact(n):
n=int(n)
sum=0;
m=1
for i in range (1,n+1):
for j in range (1,i+1):
m=m*j
sum+=m
m=1
return sum
while(True):
n=input("请输入整数n:")
if n=="back":
import sys
sys.exit(0)
print("1~%s的阶乘和为:%s"%(n,fact(n))) 实验结果:
4.
实验代码:
def prime(p):
p=int(p)
for i in range(2,p):
if(p%i==0):
return False
return True
while(True):
p = input("输入一个数:")
if(p=="back"):
import sys
sys.exit(0)
print("%s是素数吗?%s"%(p,prime(p)))
实验结果:
5.
实验代码:
from example import prime
def show_prime(n):
n=int(n)
for i in range(1,n+1):
if(prime.prime(i)==True):
print(i,end=" ")
n=input("请输入一个数显示n以显示n以内的素数:") show_prime(n)
实验结果:
6.
实验代码:
import ast
def lsd(ls,ls2):
ls=list(ls)
for i in range (0,len(ls)):
if ls[i] not in ls2:
ls2.append(ls[i])
return ls2
ls=ast.literal_eval(input("请输入列表:"))
ls2 = []
lsd(ls,ls2)
print(ls2)
实验结果:
7.
实验代码:
def change(str1):
#方法2:print(str1.swapcase()) 直接得出结果
str2=""
for i in range (0,len(str1)):
if ord(str1[i])>=65 and ord(str1[i])<=90:
str2+=str1[i].lower()
elif ord(str1[i])>=97 and ord(str1[i])<=122: str2+=str1[i].upper()
else :
str2+=str1[i]
print(str2)
s1=str(input("数组:"))
str1(s1)
实验结果:
二
1.
实验代码:
def matr(n):
print("矩阵:")
for i in range(1, n + 1):
for j in range(1, n + 1):
print((i - 1) * n + j, end=" ") print()
print("转置:")
for i in range(1, n + 1):
for j in range(1, n + 1):
print(i + (j - 1) * 3, end=" ") print()
n=int(input("矩阵的长度n:"))
matr(n)
实验结果:
2
实验代码:
import math
def funcos(eps,x):
x=int(x)
c1=float(1);
c2=float(0);
y=1
z=2
while(math.fabs(c1)>eps):
c2+=c1
c1 = (-1) * c1 * x * x / y / z y += 2
z += 2
c2+=c1
print(c2)
eps=float(input("输入esp:"))
x=float(input("输入x:"))
funcos(eps,x)
实验结果:
3.
实验代码:
import turtle
p = turtle
p.pensize(5) # 画笔尺寸设置5
def drawCircle(x, y, c="red"):
p.pu() # 抬起画笔
p.goto(x, y) # 绘制圆的起始位置
p.pd() # 放下画笔
p.color(c) # 绘制c色圆环
p.circle(50, 360) # 绘制圆:半径,角度
drawCircle(0, 0, "blue")
drawCircle(80, 0, "black")
drawCircle(160, 0, "red")
drawCircle(120, -70, "green")
drawCircle(40, -70, "yellow")
p.done()
实验结果:
五、实验体会(遇到问题及解决办法,编程后的心得体会)
本次实验学习了python的函数定义以及函数封装和调用,函数返回值等函数信息。了解python下函数的使用以及使用函数带来的便捷,也加深了对算法的编写,和海龟画图的使用。本次学习对python 的兴趣大大提高也带来了对编码的热情和信心。
实验项目名称:类实验学时: 4 同组学生姓名:实验地点:科技楼2-607-1 实验日期:实验成绩:
批改教师:王凯批改时间:
实验三类
一、实验目的和要求
1)熟悉并掌握如何创建并使用类,以及如何对类实例化;
2)熟练掌握实例的各种操作;
3)熟悉继承的基本概念以及如何创建并使用子类;
4)熟悉并掌握如何借助文档使用Python标准库编写程序。
二、实验仪器和设备
微型计算机,装有Windows操作系统和Anaconda环境平台。
三、实验内容与过程
实验中如无特别说明,均要求使用脚本(.py)方式编写代码。
1、编程题
1.1 教材中P142动手试一试9-3(用户)。
说明:除了first_name和last_name,用户简介的其他属性还可以包括邮箱、手机号、籍贯、年龄等。
1.2 教材中P147动手试一试9-5(尝试登陆次数)。
1.3 教材中P153动手试一试9-7(管理员)。
1.4 教材中P153动手试一试9-8(权限)
1.5 教材中P159动手试一试9-11(导入Admin类)
1.6 教材中P153动手试一试9-12(多个模块)
1.7教材中P160动手试一试9-14(骰子)
2、思考题
2.1 为二次方程式ax2+bx+c=0设计一个名为Equation的类,这个类包括:
1)代表3个系数的成员变量a、b、c;
2)一个参数为a、b、c的构造方法;
3)一个名为getDiscriminant()的方法返回判别式的值;
4)两个分别名为getRoot1()和getRoot2()的方法返回方程的两个根,如果判别式为负,这些方法返回None。
2.2 定义代表二维坐标系上某个点的Point类(包括x、y两个属性),为该类提供一个方法用于计算两个Point之间的距离,再提供一个方法用于判断三个Point 组成的三角形是钝角、锐角还是直角三角形。
四、实验结果与分析(程序运行结果及其分析)
(附上程序清单,代码请使用12号Courier New字体加粗,并正确高亮):1、编程题
1.1代码部分:
class User():
def
__init__(self,first_name,last_name,age,message_add,moblie _num,birplace):
self.age=age
self.first_name=first_name
self.message_add=message_add
http://www.wendangku.net/doc/31de5779a100a6c30c22590102020740bf1ecd4a.html st_name=last_name
self.moblie_num=moblie_num
self.birplace=birplace
def describe_user(self):
describle=self.first_name+" "+http://www.wendangku.net/doc/31de5779a100a6c30c22590102020740bf1ecd4a.html st_name+"
"+self.age+" "+self.moblie_num+" "+self.birplace+"
"+self.message_add
print(describle.title())
def greet_user(self):
greet=self.first_name+",很高兴见到你"
print(greet)
my_user=User("张","宇航","20","22789","1875","suq")
my_user.describe_user()
my_user.greet_user()
实验结果:
1.2代码部分:
class User():
def
__init__(self,first_name,last_name,age,message_add,moblie _num,birplace,login_attempts):
self.age=age
self.first_name=first_name
self.message_add=message_add
http://www.wendangku.net/doc/31de5779a100a6c30c22590102020740bf1ecd4a.html st_name=last_name
self.moblie_num=moblie_num
self.birplace=birplace
self.login_attempts=login_attempts
def describe_user(self):
describle=self.first_name+" "+http://www.wendangku.net/doc/31de5779a100a6c30c22590102020740bf1ecd4a.html st_name+" "+self.age+" "+self.moblie_num+" "+self.birplace+"
"+self.message_add
print(describle.title())
def greet_user(self):
greet=self.first_name+",很高兴见到你"
print(greet)
def increment_login_attempts(self):
self.login_attempts=self.login_attempts+1
print(self.login_attempts)
def reset_login_attempts(self):
self.login_attempts=0
print(self.login_attempts)
my_user=User("张","宇航","20","22789","1875","suq",2) my_user.describe_user()
my_user.greet_user()
my_user.increment_login_attempts()
my_user.increment_login_attempts()
my_user.reset_login_attempts()
my_user.increment_login_attempts()
实验结果:
1.3代码部分:
from class类.class1 import User
class Admin(User):
def
__init__(self,first_name,last_name,age,message_add,moblie _num,birplace,privileges=["can chui niu","can fang wen"]): self.privileges=privileges
super().__init__(first_name,last_name,age,message_add,mob lie_num,birplace)
def show_privileges(self):
for i in range(0, len(self.privileges)):
print(self.privileges[i])
my_Admin=Admin("张","宇航","20","22789","1875","suq")
my_Admin.show_privileges()
实验结果:
1.4代码部分:
from class类.class1 import User
class Privileges():
def __init__(self,privileges=["can chuiniu","can fangwen"]):
self.privileges=privileges
def show_privileges(self):
for i in range (0,len(self.privileges)):
print(self.privileges[i])
class Admin(User):
def
__init__(self,first_name,last_name,age,message_add,moblie _num,birplace):
super().__init__(first_name, last_name, age, message_add, moblie_num, birplace)
self.privileges=Privileges()
my_Admin=Admin("张","宇航","20","22789","1875","suq")
my_Admin.describe_user()
my_Admin.greet_user()
my_Admin.privileges.show_privileges()
实验结果:
1.5代码部分:
from class类.class0 import Privileges,Admin,User
my_admin=Admin("张","宇航","20","22789","1875","suq") my_admin.privileges.show_privileges()
my_admin.describe_user()
my_admin.greet_user()
实验结果:
1.6代码部分:
from class类.class1 import User
from class类.class4 import Privileges,Admin
my_admin=Admin("张","宇航","20","22789","1875","suq") my_admin.privileges.show_privileges()
my_admin.describe_user()
my_admin.greet_user()
实验结果:
1.7代码部分:
from random import randint
class Die():
def __init__(self,sides=int(6)): self.sides=sides
def roll_die(self):
x = randint(1, self.sides)
print(x,end=" ")
die6=Die()
die10=Die(int(10))
die20=Die(int(20))
for i in range (1,10):
die6.roll_die()
print()
for i in range(1, 10):
die10.roll_die()
print()
for i in range(1, 10):
die20.roll_die()
print()
实验结果:
2、思考题
2.1代码部分:
import math
class Equation():
def __init__(self,a,b,c):
self.a=a;
self.b=b
self.c=c
def getDiscriminant(self):
t=-4*self.a*self.c+self.b*self.b
return t
def getRoot1(self):
if self.getDiscriminant()>=0:
x1=(-self.b+pow(self.getDiscriminant(),0.5))/2/self.a return x1;
else :
return
def getRoot2(self):
if self.getDiscriminant()>=0:
x2=(-self.b-pow(self.getDiscriminant(),0.5))/2/self.a return x2;
else :
return
eq1=Equation(1.0,-4.0,3.0)
print(eq1.getRoot1())
print(eq1.getRoot2())
eq2=Equation(1.0,-2.0,5.0)
print(eq2.getRoot1())
print(eq2.getRoot2())
实验结果:
2.2代码部分:
class point():
def __init__(self,p1,p2,p3):
self.p1=p1
self.p2=p2
self.p3=p3
def distance(self):
self.d12= pow((pow((self.p1[0] - self.p2[0]), 2) + pow((self.p1[1] - self.p2[1]), 2)), 1/2)
self.d13 = pow((pow((self.p1[0] - self.p3[0]), 2) + pow((self.p1[1] - self.p3[1]), 2)), 1/2)
self.d23 = pow((pow((self.p2[0] - self.p3[0]), 2) + pow((self.p2[1] - self.p3[1]), 2)), 1/2)
print("p1,p2距离为:%.5s ,p1,p3距离为:%s ,p2,p3距离为:%s "%(self.d12,self.d13,self.d23))
def angle(self):
an1=
self.d23*self.d23+self.d13*self.d13-self.d12*self.d12
an2=
self.d23*self.d23+self.d12*self.d12-self.d13*self.d13
an3=
self.d13*self.d13+self.d12*self.d12-self.d23*self.d23 if(an1<0 or an2<0 or an3<0):
print("这是钝角三角形")
elif(an1==0 or an2==0 or an3==0):
print("这是直角三角形")
else:
print("这是锐角三角形")
pt1=point([0,0],[4,0],[0,3])
pt2=point([0,3],[3,5],[3,0])
pt1.distance()
pt1.angle()
pt2.distance()
pt2.angle()
实验结果:
五、实验体会(遇到问题及解决办法,编程后的心得体会)
本章主要学习了类的定义,因为python中的类与c,java的格式有很大的不一样,就给编译带来不小的麻烦,比如class下def方法之间调用方法。当然在不断的学习和查阅中逐渐熟悉了python的class类型,当然,类的目的是为了实现更多的算法以实现对问题的解决。这次的实验巩固了对python的编译规则的使用,为实现python更好的编译迈出了坚实的步伐。
实验项目名称:文件实验学时: 2 同组学生姓名:实验地点:科技楼2-607-1 实验日期:实验成绩:
批改教师:王凯批改时间:
实验四文件
一、实验目的和要求
1)掌握文件的打开、关闭操作;
2)掌握文件的读取、写入数据;
3)掌握二进制文件的操作。
二、实验仪器和设备
微型计算机,装有Windows操作系统和Anaconda环境平台。
三、实验内容与过程
实验中如无特别说明,均要求使用脚本(.py)方式编写代码。
1、编程题
1.1 编写程序,将一个文件中的所有人名首字母转换成大写,复制到另一个文件中。
要求:先将同宿舍其他人的名字(例如,ma chao单独为一行)写入一个文件roommates.txt,再创建一个新文件Roommates.txt保存转换首字母后的人名。
1.2 教材中P169动手试一试10-1(Python学习笔记)
1.3 教材中P169动手试一试10-2(C语言学习笔记)
1.4 教材中P172动手试一试10-3(访客)
1.5 教材中P172动手试一试10-4(访客名单)
2、思考题
2.1 编写程序将20个1~500之间随机数(整数)写入文件rand_nums.txt。
2.2 针对上题2.1中生成的文件,编写程序读取所有的数字并计算它们的总和以及平均值,并将它们打印出来。
四、实验结果与分析(程序运行结果及其分析)
(附上程序清单,代码请使用12号Courier New字体加粗,并正确高亮):
1.1代码部分:
with open("roommates.txt") as file_object:
lines = file_object.readlines()
Room_string=""
for line in lines:
Room_string+=line.capitalize()
#print(Room_string)
Room=open("D:/110学习存档/python/文件/文件
/Roommates.txt","w+")
print(Room_string,file=Room)
Room.close()
with open("Roommates.txt") as file_read:
contents=file_read.read()
print(contents.rstrip())
实验结果:
1.2代码部分:
filename="learning_python.txt"
with open(filename) as fileobject:
contents=fileobject.read()
print(contents.rstrip())
print("-------")
with open(filename) as fileobject:
for line in fileobject:
print(line)
print("-------")
with open(filename) as fileobject:
lines=fileobject.readlines()
for line in lines:
print(line.rstrip())
实验结果:
1.3代码部分:
filename="learning_python.txt"
with open(filename) as fileobject:
contents=fileobject.read()
contents=contents.replace("Python","Java") print(contents.rstrip())
print("-------")
with open(filename) as fileobject:
for line in fileobject:
print(line.replace("Python","Java").rstrip()) print("-------")
with open(filename) as fileobject:
lines=fileobject.readlines()
for line in lines:
print(line.replace("Python","Java").rstrip())
实验结果:
1.4代码部分:
x=str(input("请输入姓名:"))
with open("D:/110学习存档/python/文件/文件/guest.txt","a")as fileobject:
fileobject.write(x)
fileobject.write("\n")
with open("D:/110学习存档/python/文件/文件/guest.txt",
"r+")as fileobject1:
content=fileobject1.read()
print(content.rstrip())
实验结果:
1.5代码部分:
while(True):
x = str(input("请输入姓名:"))
if x=="exit":
break
print("欢迎您的访问,"+x)
with open("D:/110学习存档/python/文件/文件/guest_book.txt", "a")as fileobject:
fileobject.write(x)
fileobject.write("\n")
with open("D:/110学习存档/python/文件/文件/guest_book.txt", "r+")as fileobject1:
content=fileobject1.read()
print(content.rstrip())
实验结果:
2、思考题
2.1代码部分:
from random import randint
for i in range(1,21):
x = randint(1, 500)
with open("D:/110学习存档/python/文件/文件/rand_nums.txt", "a")as fileobject:
fileobject.write(str(x))
fileobject.write("\n")
with open("D:/110学习存档/python/文件/文件/rand_nums.txt", "r+")as fileobject1:
content=fileobject1.read()
print(content.rstrip())
实验结果:
2.1代码部分:
with open("D:/110学习存档/python/文件/文件/rand_nums.txt", "r+")as fileobject1:
x=0
y=0
for line in fileobject1:
x+=int(line)
y+=1
print("总和:",end="")
print(x)
print("均值:",end="")
print(x/y)
实验结果:
五、实验体会(遇到问题及解决办法,编程后的心得体会)
本次是python实验的最后一次,学习了文件的打开、关闭操作,文件的读取、写入数据,在比较快速的情况下完成了实验。python的技巧更上一层楼,编译更加得心应手。
Python是一种面向对象、直译式计算机程序设计语言。个人觉得Python突出的地方是对字符串操作特别的灵活、采取缩进的方式简单明了,以及简单的语法。Python 和C类似,是顺序进行的,不像visual c++是事件触发不同模块进行的。操作和matlab相似,有编辑窗口,也有一个运行的窗口(交互式解释器),可以编写之后运行,也可以在命令行模式下一条条的完成。实验结束后,我学习Python基础,初步了解了Python的基本语法及知识点,也能编译出不错的运行模块。Python的实验让我对未来工作提升了信心,提高我们从事实际工作的能力。
推荐访问:python数据分析报告总结 实验 报告 python