python学生情報管理システム(完全版)
本論文は前の編(pythonプロジェクト:学生情報管理システム(初版))に基づいて改善され、新たな機能が追加される。
主に含まれています
完璧部分:入力ミス;データクエリなどの異常エラーがありません。
新しい機能:ファイルの操作:ファイルの読み書き、テキスト文字列の詳細な解析(全体の解析分解と再編成についてはコード、コメントが追加されています。)
学生情報管理システム(完全版)
学生情報管理項目は、操作画面を持って、各操作を完了することが要求されます。
+−−−−−−−−−−−−−−−−−−−−−−−−−+
|1)学生情報を追加する|
すべての学生の情報を表示します。
|3)学生情報を削除する|
|4)学生情報を修正する|
|5)学生の成績が高い-低いによって学生の情報を表示する|
|6)学生の成績が低い-高い順に学生の情報を表示する|
|7)学生の年齢の高い-低いによって学生の情報を表示する|
|8)学生の年齢の低い-高によって学生の情報を表示する|
| 9)学生情報をファイルに保存する(students.txt) |
|10)ファイルからデータを読み出す(students.txt) |
退出:その他任意のボタン<回車> |
+−−−−−−−−−−−−−−−−−−−−−−−−−+
詳細コードは以下の通りです。
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。
主に含まれています
完璧部分:入力ミス;データクエリなどの異常エラーがありません。
新しい機能:ファイルの操作:ファイルの読み書き、テキスト文字列の詳細な解析(全体の解析分解と再編成についてはコード、コメントが追加されています。)
学生情報管理システム(完全版)
学生情報管理項目は、操作画面を持って、各操作を完了することが要求されます。
+−−−−−−−−−−−−−−−−−−−−−−−−−+
|1)学生情報を追加する|
すべての学生の情報を表示します。
|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()
管理システムの詳細については『管理システムのテーマ』をクリックして学習してください。以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。