studentmanage
main
from manage import Student_Manage # 开始运行 if __name__ == '__main__': # 创建对象 student = Student_Manage() # 通过对象调用某个方法 student.run()
C:\Users\LENOVO\AppData\Local\Programs\Python\Python39\python.exe C:\Users\LENOVO\PycharmProjects\pythonProject\day13模块与包\studentmanage\main.py
======欢迎进入学员管理系统======
---1、添加学员信息---
---2、删除学员信息---
---3、修改学员信息---
---4、查看学员信息---
---5、显示学员信息---
---6、保存学员信息---
-----7、退出系统-----
输入对应的数字实现对应功能:
manage
from student import Student class Student_Manage(): # 数据仓库 def __init__(self): self.student_list = [] # 显示功能界面 def show_menu(self): print("======欢迎进入学员管理系统======") print("\t---1、添加学员信息---") print("\t---2、删除学员信息---") print("\t---3、修改学员信息---") print("\t---4、查看学员信息---") print("\t---5、显示学员信息---") print("\t---6、保存学员信息---") print("\t-----7、退出系统-----") # 主函数 # 主函数 def run(self): while True: # 显示功能菜单 self.show_menu() number = int(input("输入对应的数字实现对应功能:")) if number == 1: self.add_student() elif number == 2: self.del_student() elif number == 3: self.modify_student() elif number == 4: self.search_student() elif number == 5: self.show_student() elif number == 6: self.save_student() elif number == 7: print("欢迎下次使用") break # 添加信息 def add_student(self): name = input("请输入姓名:") sex = input("请输入性别:") age = input("请输入年龄:") # 创建一个学生对象 student = Student(name, sex, age) # 实例化对象 print(student) # 将创建的学生对象传入列表中 self.student_list.append(student) # 删除信息 def del_student(self): stu_name = input("请输入你要删除的学员姓名:") for data in self.student_list: if data.name == stu_name: print(data.name, "---删除成功") self.student_list.remove(data) break else: print("当前学员不存在") # 修改信息 def modify_student(self): stu_name = input("请输入你要修改的学员姓名:") for data in self.student_list: if data.name == stu_name: data.name = input("请输入姓名:") data.sex = input("请输入性别:") data.age = input("请输入年龄:") print(f"姓名:{data.name},性别:{data.sex},年龄:{data.age}") break else: print("学员不存在") # 查找信息 def search_student(self): stu_name = input("请输入你要查找的学员姓名:") for data in self.student_list: if data.name == stu_name: print(f"姓名:{data.name},性别:{data.sex},年龄:{data.age}") # 显示信息 def show_student(self): for data in self.student_list: print(f"姓名:{data.name},性别:{data.sex},年龄:{data.age}") # 保存信息 重要 def save_student(self): for data in self.student_list: data_stu = f"姓名:{data.name},性别:{data.sex},年龄:{data.age}" with open("student.txt", "a", encoding="utf-8") as f: f.write(data_stu + "\n")
student
class Student(): def __init__(self,name,sex,age): self.name = name self.sex = sex self.age = age def __str__(self): return f"姓名:{self.name}\t性别:{self.sex}\t年龄:{self.age}"
demo01
def fun1(): print('demo01 fun1') def fun2(): print('demo01 fun2') def fun1111111111111111111111(): print('demo01 fun111111111111111111111111')
进程已结束,退出代码0
demo02
# import demo01 # from demo01 import fun1 # from demo01 import * # 导入所有的功能 # fun2() # fun1111111111111111111111() # fun1() # import demo01 as d01 # d01.fun1() # from demo01 import fun1111111111111111111111 as fun123 # # fun123() # def fun1(): # print('demo02 fun1')
进程已结束,退出代码0
json模块的处理
print() """ json.loads() --> json转为字典(适用于语句) json.dumps() --> 字典转为json(适用于语句) """ import json # a = "python" # # print(a, type(a)) # b = {"city": "hunan"} # # print(b, type(b)) # c = '{"city": "hunan"}' # print(c, type(c)) # dict-->str # 第一种方法 # res = str(b) # print(res, type(res)) # {'name': '张三'} <class 'str'> # # 第二种方法 # res = json.dumps(b) # print(res, type(res)) # {"city": "hunan"} <class 'str'> # # # str -->dict # data = '{"age":"18"}' # print(data, type(data)) # # 第一种方法 报错 # # res = dict(data) # 报错 # # print(res) # # # 第二种方法 # res = json.loads(data) # print(res, type(res)) # # # # # 怎么去拿到18 # print(res["age"]) # print(res.get("age")) import json data = {"name": "yueyue"} # f = open("data.json", mode="w") # f.write(data) # must be str, not dict # 写进去 # json.dump(data, f) # 将字典转换成json文件 然后写入文件 # 读取文件 f = open("data.json", mode="r") res = f.read() print(type(res), res) f.seek(0) # # 运行下面之前先把上面的read注释掉 因为指针在最后面了 读取不了了 或者seek到0 j_data = json.load(f) # 将json对象转换成字典 print(j_data) print(type(j_data), j_data.get("name"))
Traceback (most recent call last):
File "C:\Users\LENOVO\PycharmProjects\pythonProject\day13模块与包\json模块的处理.py", line 48, in <module>
f = open("data.json", mode="r")
FileNotFoundError: [Errno 2] No such file or directory: 'data.json'进程已结束,退出代码1
作业
print() """ 1、设计一个Circle类来表示圆,这个类包含圆的半径以及求周长和面积的函数。 再使用这个类创建半径为1~100的圆,并计算出相应的周长及面积。 """ # class Circle: # def __init__(self, r): # self.r = r # # def zhouchang(self): # print(f'半径为{self.r}圆的周长为{2 * 3.14 * self.r}') # # def mianji(self): # print(f'半径为{self.r}圆的面积为{3.14 * self.r ** 2}') # # # for r in range(1, 101): # asd = Circle(r) # asd.zhouchang() # asd.mianji() """ 2、定义input_password函数,提示用户输入密码. 如果用户输入长度<8,主动抛出异常 提示(raise Exception("len too short!")) 如果用户输入长度>=8,返回输入的密码 """ def input_password(password): if len(password) < 8: raise Exception("len too short!") else: return f'你输入的密码为:{password}' while True: try: password = input('请输入你的密码:') print(input_password(password)) except Exception as e: print(e) else: break
请输入你的密码:666
len too short!
请输入你的密码:11111111111111
你输入的密码为:11111111111111进程已结束,退出代码0
常用内置模块
import time # print(1) # time.sleep(0.31111) # print(2) # print(time.time()) # print(time.strftime("%Y-%m-%d %H:%M:%S")) # import datetime # print(datetime.datetime.now()) import random # print(random.random() * 10) # for i in range(100): # print(random.randint(1, 100)) # [] li = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # print(random.choice(seq=li)) # print(li) # print(li) # random.shuffle(li) # print(li) # print(random.sample(li,6)) # for i in range(100): # print(random.randrange(1, 10, 2)) """设置一个验证码 6位数 打印出 你的验证码为: xxxxxx 0123456789 """ # print(random.randint(100000,999999)) # x = 0 # while x < 100: # result = '' # for i in range(6): # a = str(random.randint(0, 9)) # result += a # print(result) # x += 1 li2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0] res = random.sample(li2, 6) print(''.join([str(i) for i in res]))
543470
进程已结束,退出代码0
mypackage
__all__= ['module1']
module1
def printinfo1():
print('printinfo1')
def printinfo11():
print('printinfo11')
module2
def printinfo2():
print('printinfo2')
def printinfo22():
print('printinfo22')
packagetest
# import mypackage.module1 # mypackage.module1.printinfo1() # mypackage.module1.printinfo11() # import mypackage.module2 # mypackage.module2.printinfo2() # mypackage.module2.printinfo22() # from mypackage import module1,module2 # module1.printinfo1() # module1.printinfo11() # module2.printinfo2() # module2.printinfo22() # # # 必须在`_init_.py`文件中添加__all__= [控制允许导入的模块列表] # from mypackage import * # 导入所有 可能会造成资源的浪费 # module1.printinfo1() from module1 import printinfo1 printinfo1()
printinfo1
进程已结束,退出代码0
test
{"name": "yueyue"}