python學習day7

來源:互聯網
上載者:User

標籤:__init__   encoding   line   進入   glob   *args   tst   uid   對象   

import json
import sys


status_dict={
‘username‘:None,
‘status‘:False,
‘id‘:None
}



def login(): #登陸函數
i = 0
while i < 3:
print("校園管理系統".center(50,‘*‘))
print("請登入!")
username = input(‘請輸入使用者名稱:‘).strip()
password = input(‘請輸入密碼:‘).strip()
if status_dict["username"] is not None and status_dict["status"] == True:
print("使用者"+status_dict["username"]+"已登陸,請登出後重新登陸。")
break
with open(‘userinfo‘,encoding=‘utf-8‘) as f1:
for line in f1:
line_list = line.strip().replace(‘,‘, ‘,‘).split(‘,‘)
if username == line_list[0] and password==line_list[1]:
print(‘登入成功...‘)
status_dict[‘username‘] = username
status_dict[‘status‘] = True
status_dict[‘id‘] = line_list[2]
return True
else:
print(‘帳號或者密碼不正確,請重新輸入‘)
i += 1
if i == 3:
exit()

def regiter(*args,**kwargs): #註冊函數
while True:
username = input(‘請輸入註冊使用者名稱:‘).strip()
password = input(‘請輸入使用者名稱密碼:‘).strip()
idd = input(‘請輸入使用者身份:‘).strip()
with open(‘userinfo‘,encoding=‘utf-8‘) as f1:
for line in f1:
line_list = line.strip().replace(‘,‘, ‘,‘).split(‘,‘)
if username == line_list[0]:
print(‘使用者名稱存在,請重新輸入!‘)
break
else:
with open(‘userinfo‘,encoding=‘utf-8‘,mode=‘a‘) as f2:
f2.write(‘\n{},{}‘.format(username,password,idd))
print(‘註冊成功‘)
login()


##學校類定義
class School(object):
##初始化函數
def __init__(self, SchoolName, SchoolPlace, SchoolMotto):
self.SchoolName = SchoolName
self.SchoolPlace = SchoolPlace
self.SchoolMotto = SchoolMotto

##招生函數
def RecruitStu(self):
NewStuName = input("StuName:")
NewStuAge = input("StuAge:")
NewStuSex = input("StuSex:")
NewStuSchool = input("StuSchool:")
CourseNo = input("CourseNo:")
NewStuID = input("StuID:")
CoursePrice = input("CoursePrice:")
NewStu = Stu(NewStuName, NewStuAge, NewStuSex, NewStuSchool, CourseNo, NewStuID, CoursePrice) ##執行個體化學員對象
stus_dict = {"StuName": NewStuName, "StuAge": NewStuAge, "StuSex": NewStuSex, "StuSchool": NewStuSchool,
"CourseNo": CourseNo, "StuID": NewStuID, "CoursePrice": CoursePrice} # 用字典來存放講師資訊
if not dic:
dic[NewStuName] = stus_dict
json.dump(dic, open("student_db", "w"), encoding=‘utf-8‘, ensure_ascii=False, indent=2)
else:
if dic.get(NewStuName):
print("%s學生已存在,不能註冊名字相同的學生" % NewStuName)
else:
dic[NewStuName] = stus_dict
json.dump(dic, open("student_db", "w"), encoding=‘utf-8‘, ensure_ascii=False, indent=2)
print("The student has already added successfully".center(50, ‘-‘))
NewStu.StuInfo()

##聘請講師
def HireTch(self):
print("Welcome to hire teacher from here~")
NewTeacherName = input("Please input the teacher‘s name:")
NewTeacherAge = input("Please input the teacher‘s age:")
NewTeacherSex = input("Please input the teacher‘s sex:")
NewCourseNo = input("Please input the teacher‘s course number:")
NewSalary = input("Please input the teacher‘s salary:")
NewTeacher = Teacher(NewTeacherName, NewTeacherAge, NewTeacherSex, NewCourseNo, NewSalary) # 執行個體化講師對象
teachers_dict = {"TeacherName": NewTeacherName, "TeacherAge": NewTeacherAge, "TeacherSex": NewTeacherSex,
"CourseNo": NewCourseNo, "Salary": NewSalary} # 用字典來存放講師資訊
# 通過json將講師的字典還原序列化到dic字典中
if not dic: # 字典如果為空白
dic[NewTeacherName] = teachers_dict # 將講師名與講師對象相關聯
# 通過json將講師的字典序列化到teacher_db檔案中
json.dump(dic, open("teacher_db", "w"), encoding=‘utf-8‘, ensure_ascii=False, indent=2)
else: # 如果檔案中已有講師資訊
if dic.get(NewTeacherName): # 字典中不存在key,則返回none,不報錯
print("%s講師已存在,不能建立名字相同的講師" % NewTeacherName)
else:
dic[NewTeacherName] = teachers_dict
json.dump(dic, open("teacher_db", "w"), encoding=‘utf-8‘, ensure_ascii=False, indent=2)
NewTeacher.TeacherInfo() ##將新老師的資訊列印在螢幕上

##新增課程
def CreateCourse(self):
print("Welcome to create course!")
NewCourseNo = input("CourseNo:")
NewCourseName = input("CourseName:")
NewCoursePrice = input("CoursePrice:")
NewCourse = Course(NewCourseNo, NewCourseName, NewCoursePrice) ##新建立的對象直接執行個體化
courses_dict = {"CourseNo": NewCourseNo, "CourseName": NewCourseName,
"CoursePrice": NewCoursePrice} # 用字典來存放講師資訊
if not dic:
dic[NewCourseNo] = courses_dict
json.dump(dic, open("course_db", "w"), encoding=‘utf-8‘, ensure_ascii=False, indent=2)
else:
if dic.get(NewCourseNo):
print("%s課程已存在,不能註冊課程號相同的課程" % NewCourseNo)
else:
dic[NewCourseNo] = courses_dict
json.dump(dic, open("course_db", "w"), encoding=‘utf-8‘, ensure_ascii=False, indent=2)
print("Course has already created successfully".center(50, ‘-‘))
print("""
CourseNo:%s
CourseName:%s
CoursePrice:%s""" % (NewCourseNo, NewCourseName, NewCoursePrice))


class Teacher(object):
def __init__(self, TeacherName, TeacherAge, TeacherSex, CourseNo, Salary):
self.TeacherName = TeacherName
self.TeacherAge = TeacherAge
self.TeacherSex = TeacherSex
self.CourseNo = CourseNo
self.Salary = Salary

def TeachKnowledge(self):
print("Teach Knowlege~")

def TeacherInfo(self):
print("""
-------------講師資訊-------------
Name:%s
Age:%s
Sex:%s
CourseNo:%s
Salary:%s
""" % (self.TeacherName, self.TeacherAge, self.TeacherSex, self.CourseNo, self.Salary))


##課程類定義
class Course(object):
def __init__(self, CourseNo, CourseName, CoursePrice):
self.CourseNo = CourseNo
self.CourseName = CourseName
self.CoursePrice = CoursePrice

def ShowCourseInfo(self):
print("""
CourseNO:%s
CourseName:%s
CoursePrice:%s""" % (self.CourseNo, self.CourseName, self.CoursePrice))


##學員類定義
class Stu(object):
def __init__(self, StuName, StuAge, StuSex, StuSchool, CourseNo, StuID, CoursePrice):
self.StuName = StuName
self.StuAge = StuAge
self.StuSex = StuSex
self.StuSchool = StuSchool
self.CourseNo = CourseNo
self.StuID = StuID
self.CoursePrice = CoursePrice

def Study(self):
print("study")

def PayMoney(self):
print("Paying for money~")

def StuInfo(self):
print("""
---------------學生資訊--------------
Name:%s
Age:%s
Sex:%s
School:%s
CourseNo:%s
ID:%s
CoursePrice:%s
""" % (
self.StuName, self.StuAge, self.StuSex, self.StuSchool, self.CourseNo, self.StuID, self.CoursePrice))


def students_view(): # 學員視圖
while True:
pro = """
1.歡迎註冊
2.返回
3.退出

請選擇:
"""
num = input(pro)
if num == ‘1‘:
choice_school_obj.RecruitStu() # 調用學生註冊方法並產生學生對象
elif num == ‘2‘:
break
elif num == ‘3‘:
sys.exit()
else:
continue


def teacher_view(): # 講師視圖
name = input("請輸入講師姓名:")
while True:
if dic.get(name) or teachers_dict.get(name):
print("歡迎%s講師".center(50, ‘-‘) % name)
elif not dic.get(name) and not teachers_dict.get(name):
print("%s講師不存在" % name)
break
pro = """
1.查看學員資訊
2.返回
3.退出

請輸入你的選擇:
"""
num = input(pro)
if num == ‘1‘:
if teachers_dict.get(name):
teachers_dict[name].show_student() # 查看學生資訊
else:
print("功能未完善,只能輸入lvah,cheng")
elif num == ‘2‘:
break
elif num == ‘3‘:
sys.exit()
else:
continue


def school_view(): # 學校視圖
while True:
pro = """
1.建立課程
2.招生註冊
3.聘用講師
4.返回
5.退出

請輸入你的選擇:
"""
num = input(pro)
if num == ‘1‘:
choice_school_obj.CreateCourse()
elif num == ‘2‘:
choice_school_obj.RecruitStu()
elif num == ‘3‘:
choice_school_obj.HireTch()
elif num == ‘4‘:
break
elif num == ‘5‘:
sys.exit()
else:
continue


def main():
global dic # 全域變數
global choice_school_obj
dic = {}

while True:

prola = """
1.登入
2.註冊
請選擇您的需求序號:
"""

choise = input(prola)
if choise == ‘1‘:
login()
elif choise == ‘2‘:
regiter()
print("請選擇學校".center(50, ‘*‘))
pro1 = """
1. %s
2. %s
3. 返回
4. 退出

請輸入你的選擇:
""" % (school1.SchoolName, school2.SchoolName)
choice_school = input(pro1)
if choice_school == ‘1‘:
choice_school_obj = school1 # 將對象引用傳給choice_school
elif choice_school == ‘2‘:
choice_school_obj = school2
elif choice_school == ‘3‘:
break
elif choice_school == ‘4‘:
sys.exit()
else:
continue
while True:
print("請選擇視圖".center(50, ‘*‘))
pro2 = """
1.學員視圖
2.講師視圖
3.管理員視圖
4.返回
5.退出

請選擇視圖:
"""

num = input(pro2)

if num == ‘1‘:
if status_dict[‘id‘] == ‘student‘:#做登入帳號判斷
print("歡迎進入學員視圖".center(50, ‘*‘))
students_view()
else:
print("您登入的使用者不正確請重新登入~")
login()
elif num == ‘2‘:
if status_dict[‘id‘] == ‘teacher‘:
print("歡迎進入講師視圖".center(50, ‘*‘))
teacher_view()
else:
print("您登入的使用者不正確請重新登入~")
login()
elif num == ‘3‘:
if status_dict[‘id‘] == ‘manager‘:
print("歡迎進入學校管理檢視".center(50, ‘*‘))
school_view()
else:
print("您登入的使用者不正確請重新登入~")
login()
elif num == ‘4‘:
break
elif num == ‘5‘:
sys.exit()
else:
continue


if __name__ == ‘__main__‘:
teachers_dict = {}
courses_dict = {}
stus_dict = {}

school1 = School("SH老男孩", "上海校區", "祖國、榮譽、責任") # 執行個體化兩個學校
school2 = School("BJ老男孩", "北京校區", "愛國、求是、奮進")

t1 = Teacher("alex", "28", "male", "01", "10000")
t2 = Teacher("太白", "26", "female", "02", "9000") # 執行個體化兩個講師
teachers_dict["alex"] = t1
teachers_dict["太白"] = t2
teacher_dict = {"TeacherName": "alex", "TeacherAge": "28", "TeacherSex": "male", "CourseNo": "01", "Salary": "10000"}
teacher_dict = {"TeacherName": "太白", "TeacherAge": "26", "TeacherSex": "female", "CourseNo": "02",
"Salary": "9000"}

course1 = Course("01", "Linux雲自動化營運", "12800") # 執行個體化兩個課程
course2 = Course("02", "python", "9800")
courses_dict["01"] = course1
courses_dict["02"] = course2
courses_dict = {"CourseNo": "01", "CourseName": "Linux雲自動化營運", "CoursePrice": "12800"}
courses_dict = {"CourseNo": "02", "CourseName": "python", "CoursePrice": "9800"}

stu1 = Stu("Katy", "18", "female", "alex", "01", "3150911026", "12800") ##執行個體化兩個學員
stu2 = Stu("Betty", "18", "male", "太白", "02", "3150911022", "12000")
stus_dict["Katy"] = stu1
stus_dict["Betty"] = stu2
stu_dict = {"StuName": "靜香", "StuAge": "18", "StuSex": "女", "StuSchool": "SH老男孩", "CourseNo": "01",
"StuID": "3150911026", "CoursePrice": "12800"}
stu_dict = {"StuName": "大雄", "StuAge": "18", "StuSex": "男", "StuSchool": "BJ老男孩", "CourseNo": "02",
"StuID": "3150911022", "CoursePrice": "12000"}
print(school1, school2)
main()

python學習day7

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.