當(dāng)前位置:博客首頁(yè)>>Python >> 閱讀正文

python基礎(chǔ)練習(xí)-基于文本存取的學(xué)員管理’系統(tǒng)’

作者: 鄭曉 分類: Python 發(fā)布于: 2013-11-26 19:30 瀏覽:16,171 評(píng)論(6)


這是python吧上一個(gè)吧友提出的問(wèn)題,感覺(jué)自己可以用已學(xué)過(guò)的知識(shí)去做出來(lái),就做了出來(lái)。 初學(xué)python,寫的比較冗余和繞彎,估計(jì)過(guò)個(gè)半來(lái)月回來(lái)看會(huì)感覺(jué)寫的就是一坨翔。。。。
題目如下:
設(shè)計(jì)一個(gè)學(xué)生基本信息系統(tǒng)
基本要求:設(shè)計(jì)一個(gè)Student類,屬性至少包括學(xué)號(hào)、姓名、班級(jí)等信息,提供添加、查詢刪除操作。
1、添加:輸入一條學(xué)生信息,存入student.txt文件中;
2、查詢:能分別按學(xué)號(hào)、姓名、班級(jí)屬性查詢學(xué)生信息。
3、刪除:根據(jù)學(xué)號(hào)刪除學(xué)生信息

dbname = 'db.txt'
class Student :
#構(gòu)造方法 輸出提示信息、獲取用戶輸入的命令
def __init__(self) :
print('''
************歡迎!************
* 添加:add number name age *
* 刪除:delete number *
* 搜索:search number *
*****************************
''')
while 1:
inp = input("請(qǐng)輸入命令:")
inp = inp.strip().split(' ')
if inp[0] == 'add': #調(diào)用添加方法
self.add(number=inp[1], name=inp[2], age=inp[3])
elif inp[0] == 'delete':
self.delete(inp[1])
elif inp[0] == 'search':
li = [x.split('=') for x in inp[1:]]
self.search(li)
else:
print('命令錯(cuò)誤,請(qǐng)重新輸入!')
#添加學(xué)生信息
def add(self,number,name,age) :
f = open(dbname, 'a')
f.write(str(number) + '|' + name + '|' + str(age)+'\n')
f.close()
#按number刪除學(xué)生信息
def delete(self, number) :
f = open(dbname, 'r')
tmp = ''
for line in f:
line_list = line.strip().split('|')
if line_list[0] == number :
continue
tmp += line
f.close()
f = open(dbname, 'w')
f.write(tmp)
f.close()
print("成功刪除")
#搜索符合相關(guān)條件的學(xué)生信息
def search(self,arg) :
f = open(dbname, 'r')
result = []
for line in f:
line_list = line.strip().split('|')
flag = 0
for con in arg:
if con[0] == 'all':
flag=1
break
if con[0] == 'number':
if line_list[0] == con[1] :flag=1
else:
flag=0
break;
if con[0] == 'name':
if line_list[1] == con[1] :flag=1
else:
flag=0
break;
if con[0] == 'age':
if line_list[2] == con[1] :flag=1
else:
flag=0
break;
if flag:
result.append(line_list)
f.close()
if len(result)>0:
print("搜索完成:")
print('\n'.join([' '.join(x) for x in result]))
else:
print("未找到符合條件的學(xué)生")
Student()

運(yùn)行結(jié)果:

python基礎(chǔ)練習(xí)-學(xué)生管理系統(tǒng)

? ? ? ?

本文采用知識(shí)共享署名-非商業(yè)性使用 3.0 中國(guó)大陸許可協(xié)議進(jìn)行許可,轉(zhuǎn)載時(shí)請(qǐng)注明出處及相應(yīng)鏈接。

本文永久鏈接: http://yjfs.org.cn/python-text-access-system.html

python基礎(chǔ)練習(xí)-基于文本存取的學(xué)員管理’系統(tǒng)’:目前有6 條留言

用戶評(píng)論頭像 bet365發(fā)表于 2013年12月17日 09:39[回復(fù)]

他已經(jīng)消失,但他卻要頑固地留在你心里,成為記憶的一部分,時(shí)時(shí)刻刻提醒你,讓你在將來(lái)的某一刻還會(huì)恍然大悟:原來(lái)我今天懂得幸福,只是因?yàn)樵?jīng)失去過(guò)你

用戶評(píng)論頭像 情詩(shī)網(wǎng)發(fā)表于 2013年12月05日 14:32[回復(fù)]

不錯(cuò)的代碼搜藏啦! :mrgreen:

用戶評(píng)論頭像 情侶網(wǎng)名發(fā)表于 2013年12月03日 23:48[回復(fù)]

謝謝大神分享,支持哦

用戶評(píng)論頭像 jesse發(fā)表于 2013年11月28日 15:19[回復(fù)]

樓主博客做的挺漂亮

用戶評(píng)論頭像 神經(jīng)大爆炸發(fā)表于 2013年11月26日 22:31[回復(fù)]

搶沙發(fā) 膜拜PHP大神

發(fā)表評(píng)論

change vcode