门门都精通,头发去无踪。
目录
一、实验目的
二、实验环境
三、实验步骤
四、实验结果
1.设计一个圆类(Cirle),该类中包含圆心位置、半径、颜色等属性,还包括构造函数和计算圆的周长、面积的方法,设计完成后,测试类的功能
2.设计一个课程类(Course),该类包含课程名name、课程编号number、任课老师teacher、上课地点location共4个属性,还有构造函数和显示课程信息的方法。其中,上课地点为location私有属性,设计完成后测试类的功能
3.好友关系系统(page111)
4.a.定义一个表示用户(User)的Python类并定义初始化方法。
属性有:用户名(name)、密码(password)
方法有:获得用户名、获取密码、设置密码。
b.如何将第一个编程题中用户(User)定义到模块(mysystem)中?
定义一个测试模块(test),在test中书写python程序入口,
并在入口中调用用户类中的设置密码的方法。
c.修改用户类(User),创建管理员的类(Admin)。
要求:
Admin类继承于User类,修改User类
要求其成员变量name可以被继承,password不可以被继承。
五、实验心得
一、实验目的
1.设计一个圆类(Cirle),该类中包含圆心位置、半径、颜色等属性,还包括构造函数和计算圆的周长、面积的方法,设计完成后,测试类的功能
2.设计一个课程类(Course),该类包含课程名name、课程编号number、任课老师teacher、上课地点location共4个属性,还有构造函数和显示课程信息的方法。其中,上课地点为location私有属性,设计完成后测试类的功能
3.好友关系系统(page111)
4.a.定义一个表示用户(User)的Python类并定义初始化方法。
属性有:用户名(name)、密码(password)
方法有:获得用户名、获取密码、设置密码。
b.如何将第一个编程题中用户(User)定义到模块(mysystem)中?
定义一个测试模块(test),在test中书写python程序入口,
并在入口中调用用户类中的设置密码的方法。
c.修改用户类(User),创建管理员的类(Admin)。
要求:
Admin类继承于User类,修改User类
要求其成员变量name可以被继承,password不可以被继承。
2)在Admin类中增加一个权限(authority)属性,并定义初始化函数。
二、实验环境
安装pycharm2023.3.4
安装适配的jdk
三、实验步骤
1.设计一个圆类(Cirle),该类中包含圆心位置、半径、颜色等属性,还包括构造函数和计算圆的周长、面积的方法,设计完成后,测试类的功能
- 定义一个圆类及其圆心位置/半径/颜色
- 定义构造函数获取并输出圆的周长以及面积
- 实例化对象,输入圆类数据,测试圆类的功能
2.设计一个课程类(Course),该类包含课程名name、课程编号number、任课老师teacher、上课地点location共4个属性,还有构造函数和显示课程信息的方法。其中,上课地点为location私有属性,设计完成后测试类的功能
- 定义课程类及其属性(课程名/课程编号/任课老师/上课地点)
- 定义构造函数(获取并设置课程位置、展示课程信息)
- 输入课程信息,并打印出来
3.好友关系系统(page111)
- 首先,定义一个好友类,其中包括属性(姓名、分组、备注)
- 其次,定义一个好友管理类,其中包含(1.添加好友信息2.删除好友信息3.展示好友信息4.备注好友信息5.给好友分组6.退出好友管理系统)
- 实例化对象,赋值给对象,调用好友管理类的方法与功能
- 显示功能菜单,让用户选择需要使用的功能对应的数字
- 使用while循环,进入类所定义的功能函数,进行不同的操作,按下exit键退出
4.a.定义一个表示用户(User)的Python类并定义初始化方法。
属性有:用户名(name)、密码(password)
方法有:获得用户名、获取密码、设置密码。
b.如何将第一个编程题中用户(User)定义到模块(mysystem)中?
定义一个测试模块(test),在test中书写python程序入口,
并在入口中调用用户类中的设置密码的方法。
c.修改用户类(User),创建管理员的类(Admin)。
要求:
Admin类继承于User类,修改User类
要求其成员变量name可以被继承,password不可以被继承。
2)在Admin类中增加一个权限(authority)属性,并定义初始化函数。
- 将用户名和密码作为参数,并将其分别赋予对象的属性
- Get_name和get_password用于获取用户名和密码,set_password用于修改密码
- 在admin类中增加属性authority,并在初始化函数中进行赋值
- 使用super().__init__(name,password)调用父类的初始化函数,以便将_name和_password的 初始化工做交给父类完成
四、实验结果
1.设计一个圆类(Cirle),该类中包含圆心位置、半径、颜色等属性,还包括构造函数和计算圆的周长、面积的方法,设计完成后,测试类的功能
#1.设计一个圆类(Cirle),该类中包含圆心位置、半径、颜色等属性,还包括构造函数和计算圆的周长、面积的方法,设计完成后,测试类的功能
PI = 3.1415926
class Circle:def __init__(self,tup,radius,color):self.center = tupself.radius = radiusself.color = colordef calculate_destination(self):return (2 * PI * self.radius)def calculate_area(self):return self.radius * self.radius * PIcircle1 = Circle((2,3),7,"pink")
print(circle1)
print(circle1.calculate_destination())
print(circle1.calculate_area())
2.设计一个课程类(Course),该类包含课程名name、课程编号number、任课老师teacher、上课地点location共4个属性,还有构造函数和显示课程信息的方法。其中,上课地点为location私有属性,设计完成后测试类的功能
# 2.设计一个课程类(Course),该类包含课程名name、课程编号number、任课老师teacher、上课地点location共4个属性,还有构造函数和显示课程信息的方法。
# 其中,上课地点为location私有属性,设计完成后测试类的功能
class Course:def __init__(self,name,number,teacher,location):self.name = nameself.number = numberself.teacher = teacherself.__location = locationdef getlocation(self):return self.__locationdef showcourse(self):return self.name,self.number,self.teacher
course1 = Course("python",1,"暑锋老师","e教")
print(course1.getlocation())
print(course1.showcourse())
course2 = Course("数据存储",2,"马文海老师","红楼")
print(course2.getlocation())
print(course2.showcourse())
course3 = Course("javaweb",3,"波波老师","红楼")
print(course3.getlocation())
print(course3.showcourse())
3.好友关系系统(page111)
# 3.好友关系系统(page111)
class Friend:def __init__(self,name,group = "未分组",remark='',):self.name = nameself.group = groupself.remark = remarkclass FriendManager:def __init__(self):self.friends = []def addFriend(self,name,group="未分组",remark=''):friend = Friend(name,group,remark)self.friends.append(friend)print("好友添加成功!")def deleteFriend(self,name):for friend in self.friends:if friend.name == name:self.friends.remove(friend)print("删除成功")returnprint("无法找到该好友!")def showFriends(self):if not self.friends:print("无法找到该好友!")for friend in self.friends:print(f"该好友名字为{friend.name},分组为{friend.group},备注为:{friend.remark}")def remarkFriends(self,name,remark=''):for friend in self.friends:if friend.name == name:friend.remark = remarkprint("修改备注成功!")returnprint("无法找到该好友!")def showGroups(self,name,group):for friend in self.friends:if friend.name == name:friend.group =groupprint("修改分组成功!")returnprint("无法找到该好友!")def exitSystem(self):exit()__name__ = "__main__"
fm =FriendManager()
while True:print("欢迎来到您的好友管理系统!")print("__1.添加好友信息__")print("__2.删除好友信息__")print("__3.展示好友信息__")print("__4.备注好友信息__")print("__5.给好友分组__")print("__6.退出好友管理系统__")option = input("请根据提示选择您所需要功能对应的数字:")if option == "1":name = input("请输入您要添加的好友名称:")group = input("请输入好友的分组:")remark = input("请输入好友的备注名:")fm.addFriend(name,group,remark)elif option == "2":name = input("请输入您要删除的好友名称:")fm.deleteFriend(name)elif option == "3":fm.showFriends()elif option == "4":name = input("请输入您要修改备注名好友的姓名:")remark = input("请输入要修改的备注名:")fm.remarkFriends(name,remark)elif option == "5":fm.showGroups(name,group)else:fm.exitSystem()
4.a.定义一个表示用户(User)的Python类并定义初始化方法。
属性有:用户名(name)、密码(password)
方法有:获得用户名、获取密码、设置密码。
b.如何将第一个编程题中用户(User)定义到模块(mysystem)中?
定义一个测试模块(test),在test中书写python程序入口,
并在入口中调用用户类中的设置密码的方法。
c.修改用户类(User),创建管理员的类(Admin)。
要求:
Admin类继承于User类,修改User类
要求其成员变量name可以被继承,password不可以被继承。
2)在Admin类中增加一个权限(authority)属性,并定义初始化函数。
class User:def __init__(self, name, password):self.name = nameself.password = passworddef get_name(self):return self.namedef get_password(self):return self.passworddef set_password(self, new_password):self.password = new_passwordclass User:def __init__(self, name, password):self.name = nameself._password = passworddef get_name(self):return self.namedef get_password(self):return self._passworddef set_password(self, new_password):self._password = new_passwordclass Admin(User):def __init__(self, name, password, authority):super().__init__(name, password)self.authority = authority
五、实验心得
本次实训,是对我本事的进一步锻炼,也是一种考验。从中获得的诸多收获,也是很可贵的,是十分有意义的。经过这次实训,我收获了很多。这次实训丰富了我各方面的知识,提高了我的综合素质。
首先,它锻炼了我做项目的本事,提高了独立思考问题、自我动手操作的本事,在工作的过程中,复习了以前学习过的知识,并掌握了一些应用知识的技巧等。
将课堂的知识学以致用,把自己学过的东西再检验一遍,不仅仅可以温习知识,确认自己是否真的学会了;并且还可以学到新的东西;当没有思路的时候,在网上搜索的信息可以打开你的思维,扩充你的知识面。实验报告带给我们的收获比我们想象中还要更多。原先,学的时候感叹学的资料太难懂,此刻想来,有些其实并不难,关键在于理解。