python 학생 정보 관리 시스템(전체 버 전)

본 고 는 전편python 프로젝트:학생 정보 관리 시스템(초판)을 바탕 으로 보완 하고 새로운 기능 을 추가 했다.
주로 다음 을 포함한다.
보완 부분:입력 오류;데이터 조회 등 이상 오류 없 음
새로운 기능:파일 의 조작:파일 의 읽 기와 쓰기,그 중 중점 은 텍스트 문자열 에 대한 상세 한 해석(전체 해석 해체 와 재 구성 에 대한 상세 한 코드,그리고 주석 추가)
학생 정보 관리 시스템(완전 판)
학생 정보 관리 프로젝트 는 조작 인터페이스 를 가지 고 모든 조작 을 완성 해 야 한다.
+----------------------+
|1)학생 정보 추가|
|2)모든 학생 의 정 보 를 보 여 준다|
|3)학생 정보 삭제|
|4)학생 정보 수정|
|5)학생 성적 이 높 고 낮 으 면 학생 정 보 를 나타 낸다.|
|6)학생 들 의 성적 이 낮 고 학생 들 의 정 보 를 높 게 나타 낸다.|
|7)학생 연령 에 따라 학생 정 보 를 낮 게 나타 낸다.|
|8)학생 의 연령 에 따라 낮 고 높 은 학생 정 보 를 나타 낸다.|
|  9)학생 정 보 를 파일 에 저장(students.txt)                |
|10)파일 에서 데이터 읽 기(students.txt)                |
|탈퇴:기타 임 의 버튼<리 턴>                                  |
+----------------------+   
자세 한 코드 는 다음 과 같 습 니 다.

# student_info.py
#         ,       ,       :
# +----------------------+
# | 1)                            |
# | 2)                          |
# | 3)                            |
# | 4)                            |
# | 5)      -                |
# | 6)      -                |
# | 7)      -                |
# | 8)      -                |
# | 9)         (students.txt) |
# | 10)        (students.txt) |
# |   :      <  > |
# +----------------------+          |
 
 
def meun():
 menu_info = '''+----------------------+
| 1)       |
| 2)          |
| 3)       |
| 4)       |
| 5)      -        |
| 6)      -        |
| 7)      -        |
| 8)      -        |
| 9)         (students.txt) |
| 10)        (students.txt) |
|   :      <  > |
+----------------------+
'''
 print(menu_info)
 
 
#         sorted  , key      
def get_age(*l):
 for x in l:
 return x.get("age")
def get_score(*l):
 for x in l:
 return x.get("score")
 
# 1)      
def add_student_info():
 L = []
 while True:
 n = input("     :")
 if not n: #          
 break
 try:
 a = int(input("     :"))
 s = int(input("     :"))
 except:
 print("    ,      ....      ")
 continue
 info = {"name":n,"age":a,"score":s}
 L.append(info)
 print("        !!!")
 return L
 
# 2)         
def show_student_info(student_info):
 if not student_info:
 print("     .....")
 return
 print("  ".center(8),"  ".center(4),"  ".center(4))
 for info in student_info:
 print(info.get("name").center(10),str(info.get("age")).center(4),str(info.get("score")).center(4))
 
# 3)      
def del_student_info(student_info,del_name = ''):
 if not del_name:
 del_name = input("          :")
 for info in student_info:
 if del_name == info.get("name"):
 return info
 raise IndexError("       ,    %s" %del_name)
 
# 4)      
def mod_student_info(student_info):
 mod_name = input("          :")
 for info in student_info:
 if mod_name == info.get("name"):
 a = int(input("     :"))
 s = int(input("     :"))
 info = {"name":mod_name,"age":a,"score":s}
 return info
 raise IndexError("       ,    %s" %mod_name)
 
# 5)      -       
def score_reduce(student_info):
 print("      -   ")
 mit = sorted(student_info ,key = get_score,reverse = True)
 show_student_info(mit)
 
# 6)      -       
def score_rise(student_info):
 print("      -   ")
 mit = sorted(student_info ,key = get_score)
 show_student_info(mit)
 
# 7)      -       
def age_reduce(student_info): 
 print("      -   :")
 mit = sorted(student_info ,key = get_age,reverse = True)
 show_student_info(mit)
 
# 8)      -       
def age_rise(student_info): 
 print("      -   :")
 mit = sorted(student_info ,key = get_age)
 show_student_info(mit)
 
# 9)         (students.txt)
def save_info(student_info):
 try:
 students_txt = open("students.txt","w") #       ,       
 except Exception as e:
 students_txt = open("students.txt", "x") #      ,       
 for info in student_info:
 students_txt.write(str(info)+"
") # , students_txt.close() # 10) (students.txt) def read_info(): old_info = [] try: students_txt = open("students.txt") except: print(" ") # , return while True: info = students_txt.readline() if not info: break # print(info) info = info.rstrip() #  # print(info) info = info[1:-1] # {} # print(info) student_dict = {} # for x in info.split(","): # , # print(x) key_value = [] # ,key_value[0] key,key_value[0] value for k in x.split(":"): # : k = k.strip() #  # print(k) if k[0] == k[-1] and len(k) > 2: # key_value.append(k[1:-1]) #   ' else: key_value.append(int(k)) # print(key_value) student_dict[key_value[0]] = key_value[1] # # print(student_dict) old_info.append(student_dict) # students_txt.close() return old_info def main(): student_info = [] while True: # print(student_info) meun() number = input(" :") if number == '1': student_info = add_student_info() elif number == '2': show_student_info(student_info) elif number == '3': try: student_info.remove(del_student_info(student_info)) except Exception as e: # print(e) elif number == '4': try: student = mod_student_info(student_info) except Exception as e: # print(e) else: # , , student_info.remove(del_student_info(student_info,del_name = student.get("name"))) student_info.append(student) elif number == '5': score_reduce(student_info) elif number == '6': score_rise(student_info) elif number == '7': age_reduce(student_info) elif number == '8': age_rise(student_info) elif number == '9': save_info(student_info) elif number == '10': student_info = read_info() else: break input(" ") main()
관리 시스템 에 대한 더 많은 내용 은《관리 시스템 주 제》.을 클릭 하여 학습 하 세 요.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기