门门都精通,头发去无踪。
目录
1.设计一个圆类(Cirle),该类中包含圆心位置、半径、颜色等属性,还包括构造函数和计算圆的周长、面积的方法,设计完成后,测试类的功能
4.a.定义一个表示用户(User)的Python类并定义初始化方法。
b.如何将第一个编程题中用户(User)定义到模块(mysystem)中?
定义一个测试模块(test),在test中书写python程序入口,
要求其成员变量name可以被继承,password不可以被继承。
2)在Admin类中增加一个权限(authority)属性,并定义初始化函数。在Admin类中增加一个权限(authority)属性,并定义初始化函数。)
一、实验目的
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),该类中包含圆心位置、半径、颜色等属性,还包括构造函数和计算圆的周长、面积的方法,设计完成后,测试类的功能
python
#1.设计一个圆类(Cirle),该类中包含圆心位置、半径、颜色等属性,还包括构造函数和计算圆的周长、面积的方法,设计完成后,测试类的功能
PI = 3.1415926
class Circle:
def __init__(self,tup,radius,color):
self.center = tup
self.radius = radius
self.color = color
def calculate_destination(self):
return (2 * PI * self.radius)
def calculate_area(self):
return self.radius * self.radius * PI
circle1 = Circle((2,3),7,"pink")
print(circle1)
print(circle1.calculate_destination())
print(circle1.calculate_area())
2.设计一个课程类(Course),该类包含课程名name、课程编号number、任课老师teacher、上课地点location共4个属性,还有构造函数和显示课程信息的方法。其中,上课地点为location私有属性,设计完成后测试类的功能
python
# 2.设计一个课程类(Course),该类包含课程名name、课程编号number、任课老师teacher、上课地点location共4个属性,还有构造函数和显示课程信息的方法。
# 其中,上课地点为location私有属性,设计完成后测试类的功能
class Course:
def __init__(self,name,number,teacher,location):
self.name = name
self.number = number
self.teacher = teacher
self.__location = location
def getlocation(self):
return self.__location
def 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)
python
# 3.好友关系系统(page111)
class Friend:
def __init__(self,name,group = "未分组",remark='',):
self.name = name
self.group = group
self.remark = remark
class 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("删除成功")
return
print("无法找到该好友!")
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 = remark
print("修改备注成功!")
return
print("无法找到该好友!")
def showGroups(self,name,group):
for friend in self.friends:
if friend.name == name:
friend.group =group
print("修改分组成功!")
return
print("无法找到该好友!")
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)属性,并定义初始化函数。
python
class User:
def __init__(self, name, password):
self.name = name
self.password = password
def get_name(self):
return self.name
def get_password(self):
return self.password
def set_password(self, new_password):
self.password = new_password
class User:
def __init__(self, name, password):
self.name = name
self._password = password
def get_name(self):
return self.name
def get_password(self):
return self._password
def set_password(self, new_password):
self._password = new_password
class Admin(User):
def __init__(self, name, password, authority):
super().__init__(name, password)
self.authority = authority
五、实验心得
本次实训,是对我本事的进一步锻炼,也是一种考验。从中获得的诸多收获,也是很可贵的,是十分有意义的。经过这次实训,我收获了很多。这次实训丰富了我各方面的知识,提高了我的综合素质。
首先,它锻炼了我做项目的本事,提高了独立思考问题、自我动手操作的本事,在工作的过程中,复习了以前学习过的知识,并掌握了一些应用知识的技巧等。
将课堂的知识学以致用,把自己学过的东西再检验一遍,不仅仅可以温习知识,确认自己是否真的学会了;并且还可以学到新的东西;当没有思路的时候,在网上搜索的信息可以打开你的思维,扩充你的知识面。实验报告带给我们的收获比我们想象中还要更多。原先,学的时候感叹学的资料太难懂,此刻想来,有些其实并不难,关键在于理解。