Pythonを使って簡単な学生情報管理システムを実現するように教えます。(ソースを含む)
一、プロジェクト分析
1、まず基礎学生の情報リストを定義する。
フォーマット:list={学号:氏名、年齢:num、成績:num}
リストの下に0が表示されますので、ここで学号の入力の後に「-1」が追加されます。
リスト要素は辞書で保存されているので、辞書の追加要素を使用します。
ここで出力リスト要素を巡回する場合、書式設定文字列の関数tr.format()が使用されます。
辞書の修正にも有効です。キーで対応値を変更します。
コードと同じファイルに保存します。student.txtファイルにパスを導入するには絶対パスが必要です。
------------------
学生管理システムにようこそ。
1.学号を入力して成績を調べます。
2.学生情報の追加
3.学生情報の削除
4.すべての学生情報を印刷する
5.学生情報の修正
6.学生情報を指定ファイルに保存する
0.システムを終了する
------------------
入力オプションのデジタルクエリ/入力情報:2
新しい学友の学号を入力します(4から始まります):4
新しいクラスメートの名前を入力してください。
新しい同級生の年齢を入力します。17
新しいクラスメートの成績を入力します。78
リターンボタンを押して続けます
------------------
学生管理システムにようこそ。
1.学号を入力して成績を調べます。
2.学生情報の追加
3.学生情報の削除
4.すべての学生情報を印刷する
5.学生情報の修正
6.学生情報を指定ファイルに保存する
0.システムを終了する
------------------
入力オプションのデジタルクエリ/入力情報:6
リターンボタンを押して続けます
------------------
学生管理システムにようこそ。
1.学号を入力して成績を調べます。
2.学生情報の追加
3.学生情報の削除
4.すべての学生情報を印刷する
5.学生情報の修正
6.学生情報を指定ファイルに保存する
0.システムを終了する
------------------
入力オプションのデジタルクエリ/入力情報:4
すべての情報は以下の通りです。
{1:''jam'、'age':17,socer':99}
{2:'kol','age':18,'socer':89}
{3:'avlir'、'age':19、'socer':100}
{4:'dfg'、'age':17,'socer':78}
リターンボタンを押して続けます
------------------
学生管理システムにようこそ。
1.学号を入力して成績を調べます。
2.学生情報の追加
3.学生情報の削除
4.すべての学生情報を印刷する
5.学生情報の修正
6.学生情報を指定ファイルに保存する
0.システムを終了する
------------------
入力オプションのデジタルクエリ/入力情報:3
削除したい成績に対応する学籍番号を入力してください。
リターンボタンを押して続けます
------------------
学生管理システムにようこそ。
1.学号を入力して成績を調べます。
2.学生情報の追加
3.学生情報の削除
4.すべての学生情報を印刷する
5.学生情報の修正
6.学生情報を指定ファイルに保存する
0.システムを終了する
------------------
入力オプションのデジタルクエリ/入力情報:6
リターンボタンを押して続けます
------------------
学生管理システムにようこそ。
1.学号を入力して成績を調べます。
2.学生情報の追加
3.学生情報の削除
4.すべての学生情報を印刷する
5.学生情報の修正
6.学生情報を指定ファイルに保存する
0.システムを終了する
------------------
入力オプションのデジタルクエリ/入力情報:0
終了を確定しますか?
イエスを入力して終了:yes
ここでは、Pythonを使って簡易版の学生情報管理システム(ソースコードを含む)を実現することについての記事を紹介します。Pythonの学生情報管理システムの内容については、以前の文章を検索したり、下記の関連記事を見たりしてください。これからもよろしくお願いします。
1、まず基礎学生の情報リストを定義する。
フォーマット:list={学号:氏名、年齢:num、成績:num}
student1 = [\
{1:"jam",'age':17,'socer':99},
{2:'kol','age':18,'socer':89},
{3:'avlir','age':19,'socer':100}]
2、まずフレームを構築する(メイン関数main()
if __name__ == '__main__':
while True:
menu()
key = input(" / :")
if key == '1':
lookup() #
elif key == '2':
append() #
elif key == '3':
delete() #
elif key == '4':
allinformation() #
elif key == '5':
revise() #
elif key == '6':
save() #
elif key == '0':
print(" ?")
exit = input(" yes :")
if exit == 'yes':
break
else:
print(" , ")
3、フレームを作ったら、メニュー画面が必要です。
#
def menu():
print('-'*30)
print(" ")
print("1. ")
print("2. ")
print("3. ")
print("4. ")
print("5. ")
print("6. ")
print("0. ")
print("-"*30)
4、次は指定学生情報を検索します。リストの下に0が表示されますので、ここで学号の入力の後に「-1」が追加されます。
#
def lookup():
sid = int(input(" :"))-1 #
if sid > len(student1)-1:
print(" , ")
else:
print(student1[sid]) #
input(" ")
5、次は学生情報の追加です。リスト要素は辞書で保存されているので、辞書の追加要素を使用します。
#
def append():
newsid = eval(input(' ( 4 ):'))
newname = eval(input(' :'))
newage = eval(input(' :'))
newsocer = eval(input(' :'))
newstudent1 = {}
newstudent1[newsid] = newname # 、
newstudent1['age'] = newage #
newstudent1['socer'] = newsocer #
student1.append(newstudent1) #
input(" ")
6、追加できても削除できます(delete()
#
def delete():
did = int(input(" :"))-1
del student1[did] #
input(" ")
7、そしてすべての情報を出力します。ここで出力リスト要素を巡回する場合、書式設定文字列の関数tr.format()が使用されます。
##
def allinformation():
print(" :")
i = 1
for show in student1:
print("{}".format(show)) #
i += 1
input(" ")
8、今はまだ情報の修正が足りません。辞書の修正にも有効です。キーで対応値を変更します。
##
def revise():
resid = int(input(" :"))-1
r = input(" (1. ;2. ; , ):")
if r == '1':
newage = input(" ")
student1[resid]['age'] = newage
elif r == '2':
newsocer = input(" ")
student1[resid]['socer'] = newsocer
else:
newage = input(" ")
newsocer = input(" ")
student1[resid]['socer'] = newsocer
student1[resid]['age'] = newage
input(" ")
9、忘れそうになったらメッセージを保存してください。コードと同じファイルに保存します。student.txtファイルにパスを導入するには絶対パスが必要です。
##
def save():
f = open('student.txt','w') #
f.write(str(student1)) #
f.close() #
input(" ")
そして、完全コードは以下の通りです。
'''
Created on 2021 6 13
, ――
@author:
'''
student1 = [\
{1:"jam",'age':17,'socer':99},
{2:'kol','age':18,'socer':89},
{3:'avlir','age':19,'socer':100}]
#
def menu():
print('-'*30)
print(" ")
print("1. ")
print("2. ")
print("3. ")
print("4. ")
print("5. ")
print("6. ")
print("0. ")
print("-"*30)
#
def lookup():
sid = int(input(" :"))-1 #
if sid > len(student1)-1:
print(" , ")
else:
print(student1[sid]) #
input(" ")
#
def append():
newsid = eval(input(' ( 4 ):'))
newname = eval(input(' :'))
newage = eval(input(' :'))
newsocer = eval(input(' :'))
newstudent1 = {}
newstudent1[newsid] = newname # 、
newstudent1['age'] = newage #
newstudent1['socer'] = newsocer #
student1.append(newstudent1) #
input(" ")
#
def delete():
did = int(input(" :"))-1
del student1[did] #
input(" ")
##
def allinformation():
print(" :")
i = 1
for show in student1:
print("{}".format(show)) #
i += 1
input(" ")
##
def revise():
resid = int(input(" :"))-1
r = input(" (1. ;2. ; , ):")
if r == '1':
newage = input(" ")
student1[resid]['age'] = newage
elif r == '2':
newsocer = input(" ")
student1[resid]['socer'] = newsocer
else:
newage = input(" ")
newsocer = input(" ")
student1[resid]['socer'] = newsocer
student1[resid]['age'] = newage
input(" ")
##
def save():
f = open('student.txt','w') #
f.write(str(student1)) #
f.close() #
input(" ")
if __name__ == '__main__':
while True:
menu()
key = input(" / :")
if key == '1':
lookup() #
elif key == '2':
append() #
elif key == '3':
delete() #
elif key == '4':
allinformation() #
elif key == '5':
revise() #
elif key == '6':
save() #
elif key == '0':
print(" ?")
exit = input(" yes :")
if exit == 'yes':
break
else:
print(" , ")
出力例:------------------
学生管理システムにようこそ。
1.学号を入力して成績を調べます。
2.学生情報の追加
3.学生情報の削除
4.すべての学生情報を印刷する
5.学生情報の修正
6.学生情報を指定ファイルに保存する
0.システムを終了する
------------------
入力オプションのデジタルクエリ/入力情報:2
新しい学友の学号を入力します(4から始まります):4
新しいクラスメートの名前を入力してください。
新しい同級生の年齢を入力します。17
新しいクラスメートの成績を入力します。78
リターンボタンを押して続けます
------------------
学生管理システムにようこそ。
1.学号を入力して成績を調べます。
2.学生情報の追加
3.学生情報の削除
4.すべての学生情報を印刷する
5.学生情報の修正
6.学生情報を指定ファイルに保存する
0.システムを終了する
------------------
入力オプションのデジタルクエリ/入力情報:6
リターンボタンを押して続けます
------------------
学生管理システムにようこそ。
1.学号を入力して成績を調べます。
2.学生情報の追加
3.学生情報の削除
4.すべての学生情報を印刷する
5.学生情報の修正
6.学生情報を指定ファイルに保存する
0.システムを終了する
------------------
入力オプションのデジタルクエリ/入力情報:4
すべての情報は以下の通りです。
{1:''jam'、'age':17,socer':99}
{2:'kol','age':18,'socer':89}
{3:'avlir'、'age':19、'socer':100}
{4:'dfg'、'age':17,'socer':78}
リターンボタンを押して続けます
------------------
学生管理システムにようこそ。
1.学号を入力して成績を調べます。
2.学生情報の追加
3.学生情報の削除
4.すべての学生情報を印刷する
5.学生情報の修正
6.学生情報を指定ファイルに保存する
0.システムを終了する
------------------
入力オプションのデジタルクエリ/入力情報:3
削除したい成績に対応する学籍番号を入力してください。
リターンボタンを押して続けます
------------------
学生管理システムにようこそ。
1.学号を入力して成績を調べます。
2.学生情報の追加
3.学生情報の削除
4.すべての学生情報を印刷する
5.学生情報の修正
6.学生情報を指定ファイルに保存する
0.システムを終了する
------------------
入力オプションのデジタルクエリ/入力情報:6
リターンボタンを押して続けます
------------------
学生管理システムにようこそ。
1.学号を入力して成績を調べます。
2.学生情報の追加
3.学生情報の削除
4.すべての学生情報を印刷する
5.学生情報の修正
6.学生情報を指定ファイルに保存する
0.システムを終了する
------------------
入力オプションのデジタルクエリ/入力情報:0
終了を確定しますか?
イエスを入力して終了:yes
ここでは、Pythonを使って簡易版の学生情報管理システム(ソースコードを含む)を実現することについての記事を紹介します。Pythonの学生情報管理システムの内容については、以前の文章を検索したり、下記の関連記事を見たりしてください。これからもよろしくお願いします。