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()
관리 시스템 에 대한 더 많은 내용 은《관리 시스템 주 제》.을 클릭 하여 학습 하 세 요.이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.