欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于python實現(xiàn)學生管理系統(tǒng)

 更新時間:2018年10月17日 11:53:09   作者:dayun555  
這篇文章主要為大家詳細介紹了基于python實現(xiàn)學生管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文為大家分享了python實現(xiàn)學生管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

1.0版本學生管理系統(tǒng)

'''
 1.添加學員
 2.修改學員
 3.查詢學員
 4.刪除學員
 0.退出程序
'''
student_list=[]
while True:
 print('1.添加學員')
 print('2.修改學員')
 print('3.查詢學員')
 print('4.刪除學員')
 print('0.退出程序')
 sel_num=input('請輸入您要進行的操作:')
 sel_num=int(sel_num)
 #如果選擇的數(shù)字不在0~5 繼續(xù)選擇
 while sel_num not in range(0,5):
  sel_num=input('您的選擇無效,請重新選擇:')
  sel_num=int(sel_num)
 if sel_num==1:
  name=input('請輸入姓名:')
  age=input('請輸入年齡:')
  sex=input('請輸入性別:')
  person_list=[name,age,sex]
  student_list.append(person_list)
  print('添加成功!')
 elif sel_num==2:
  for x in range(0,len(student_list)):
   person=student_list[x]
   print('序號:%s 姓名:%s 年齡:%s 性別:%s '%(x,person[0],person[1],person[2]))
  index=input('請輸入要修改的序號:')
  index=int(index)
  while index not in range(0, len(student_list)):
   index = input('您選擇的序號無效,請重新選擇:')
   index = int(index)
  person=student_list[index]
  name=person[0]
  age=person[1]
  sex=person[2]
  student_list[index][0]=input('請輸入修改后的姓名:(%s):'%name)
  student_list[index][1]=input('請輸入修改后的年齡:(%s):'%age)
  student_list[index][2]=input('請輸入修改后的性別:(%s)'%sex)
  print('修改成功!')
 elif sel_num==3:
  for x in range(0,len(student_list)):
   person=student_list[x]
   name=person[0]
   age=person[1]
   sex=person[2]
   print('序號:%s 姓名:%s 年齡:%s 性別:%s '%(x,name,age,sex))
 elif sel_num==4:
  for x in range(0,len(student_list)):
   person=student_list[x]
   print('序號:%s 姓名:%s 年齡:%s 性別:%s '%(x,person[0],person[1],person[2]))
  print('1.刪除所有學員')
  print('2.刪除選擇的學員')
  num=input('請輸入您的選擇:')
  if num=='1':
   student_list.clear()
  else:
   index = input('請輸入要刪除學員的序號:')
   index = int(index)
   while index not in range(0, len(student_list)):
    index = input('您選擇的序號無效,請重新選擇:')
    index = int(index)
   del student_list[index]
 else:
  break

2.0版本學生管理系統(tǒng)---函數(shù)版--用列表存放學員信息

#添加學員函數(shù)
def add_student():
 #輸入學員姓名、年齡、電話
 name=input('請輸入學員姓名:')
 age=input('請輸入學員年齡:')
 phone=input('請輸入學員電話:')
 #把name、age、phone放在小列表中
 student=[name,age,phone]
 # 把小列表添加到所有學員的大列表中
 # append(object) insert(index,object) extend(iterable)
 student_list.append(student)
 print('添加學員成功!')
#查詢學員函數(shù)
def query_student():
 #1.查詢所有學員
 #2.輸入學員姓名 查詢學員得到查詢的學員的序號
 print('1.查詢所有學員')
 print('2.查詢部分學員')
 num=int(input('請輸入操作序號:'))
 while num not in range(1,3):
  num=int(input('選擇無效,請重新輸入:'))
 if num==1:
  print('**************學員信息列表***************')
  #遍歷大列表
  for x in range(0,len(student_list)):
   #根據(jù)x的值從大列表中取出小列表
   student=student_list[x]
   #從小列表中取出姓名、年齡、電話
   name=student[0]
   age=student[1]
   phone=student[2]
   print('序號:%s 姓名:%s 年齡:%s 電話:%s'%(x,name,age,phone))
 else:
  name = input('請輸入您要查詢的學員姓名:')
  while 1:
   a=False
   for student in student_list:
    if student[0] == name:
     index = student_list.index(student, 0, 8)
     print('序號:%s 姓名:%s 年齡:%s 電話:%s'%(index,student_list[index][0],student_list[index][1],student_list[
     index][2]))
     a=True
   if a==False:
    name=input('該學員沒找到,請重新輸入:')
   else:
    break
 
# 修改學員的函數(shù)
def update_student():
 #判斷是否有學員信息,如果沒有,直接結(jié)束函數(shù)的執(zhí)行
 if len(student_list)==0:
  print('沒有學員信息,無法進行修改操作!')
  #強制結(jié)束函數(shù)的執(zhí)行 return下面的代碼都不會再執(zhí)行了
  return
 #1.查詢學員信息
 query_student()
 #2.選擇要修改的學員序號
 num=input('請選擇要修改的學員序號:')
 #3.轉(zhuǎn)換為整數(shù)
 num=int(num)
 #4.判斷選擇的學員序號是否在范圍內(nèi)
 while num not in range(0,len(student_list)):
  #不在范圍,重新選擇
  num=input('沒有該序號,請重選:')
  num=int(num)
 #5.根據(jù)選擇的序號取出對應(yīng)的小列表
 student=student_list[num]
 new_name=input('請輸入修改后的姓名(%s):'%student[0])
 new_age=input('請輸入修改后的年齡(%s)'%student[1])
 new_phone=input('請輸入修改后的電話(%s)'%student[2])
 #6.修改小列表中的數(shù)據(jù)
 student[0]=new_name
 student[1]=new_age
 student[2]=new_phone
 print('修改數(shù)據(jù)完成!')
#刪除學員
#1.根據(jù)學員序號刪除 2.刪除所有學員 3.根據(jù)學員的姓名來刪除(有同名的)
def delete_student():
 if len(student_list)==0:
  print('沒有學員信息,無法執(zhí)行刪除操作!')
  return
 print('1.根據(jù)學員序號刪除')
 print('2.刪除所有學員')
 print('3.根據(jù)學員姓名刪除學員')
 #獲取輸入的內(nèi)容并轉(zhuǎn)換為整數(shù)類型
 num=int(input('請輸入您的選擇:'))
 #判斷選擇的選項是否在范圍內(nèi)
 while num not in range(1,4):
  num=int(input('沒有該序號,請重新選擇'))
 #判斷選擇的選項
 if num == 1:
  # 1.查詢學員信息
  query_student()
  #2.選擇刪除的序號
  num=int(input('請輸入您要刪除的學員序號:'))
  #判斷選擇序號是否在范圍內(nèi)
  while num not in range(0,len(student_list)):
   num=int(input('序號無效,請重選!'))
  is_del=input('您確定要刪除(%s)學員的信息嗎?(y/n):'%student_list[num][0])
  if is_del=='y':
   #刪除列表中的所有數(shù)據(jù)
   del student_list[num]
   #student_list.pop(index)
   print('%s學員信息刪除成功!'%student_list[num][0])
 if num==2:
  #確認刪除
  is_del=input('您確定要刪除所有學員信息嗎?y(確定)/n(取消):')
  if is_del=='y':
   #刪除列表中的所有數(shù)據(jù)
   student_list.clear()
   print('所有學員刪除成功!')
  else:
   print('刪除數(shù)據(jù)操作已去取消!')
 else:
  name = input('請輸入您要刪除的學員的姓名:')
  while 1:
   #定義列表存放不等于name的小列表
   list = []
   #遍歷大列表
   for student in student_list:
    #判斷輸入的name是否和小列表里name的相等
    if student[0] != name:
     #找出與name不等的小列表所在的索引
     index = student_list.index(student,0,len(student_list))
     #將符合的小列表添加到list列表中
     list.append(student_list[index])
   #判斷兩個列表長度是否相等 相等說明大列表中不存在名字為name的小列表
   if len(student_list) == len(list):
    name = input('序號不存在,請重新輸入:')
   #存在符合的小列表
   else:
    #清空大列表
    student_list.clear()
    #循環(huán)將list列表的內(nèi)容寫入到空的大列表中
    for dict in list:
     student_list.append(dict)
    break
#1.聲明一個大列表,存放所有學員信息
student_list=[]
#2.while循環(huán)
while True:
 print('***********學員管理系統(tǒng)V2.0**************')
 print('1.添加學員')
 print('2.查詢學員')
 print('3.修改學員')
 print('4.刪除學員')
 print('0.退出程序')
 print('***************************************')
 #選擇操作
 num=input('請選擇您的操作:')
 #轉(zhuǎn)換為整數(shù)
 num=int(num)
 #判斷選擇的選項是否在范圍內(nèi)
 while num not in range(0,5):
  #重新選擇
  num=input('沒有該選項,請重選:')
  #把字符串轉(zhuǎn)換為整數(shù)類型
  num=int(num)
 #根據(jù)選擇的選項執(zhí)行對應(yīng)的操作
 if num==1:
  #調(diào)用添加學員的函數(shù)
  add_student()
 elif num==2:
  #調(diào)用查詢學員的函數(shù)
  query_student()
 elif num==3:
  #調(diào)用修改學員的的函數(shù)
  update_student()
 elif num==4:
  delete_student()
 else:
  print('程序已結(jié)束!')
  break

2.1版本學生管理系統(tǒng)---函數(shù)版--用字典存放學員信息

#添加學員函數(shù)
def add_student():
 #輸入學員姓名、年齡、電話
 name=input('請輸入學員姓名:')
 age=input('請輸入學員年齡:')
 phone=input('請輸入學員電話:')
 #把name、age、phone放在小字典中
 student={'name':name,'age':age,'phone':phone}
 # 把小字典添加到所有學員的大列表中
 # append(object) insert(index,object) extend(iterable)
 student_list.append(student)
 print('添加學員成功!')
#查詢學員函數(shù)
def query_student():
 #1.查詢所有學員
 #2.輸入學員姓名 查詢學員得到查詢的學員的序號
 print('1.查詢所有學員')
 print('2.查詢部分學員')
 num=int(input('請輸入操作序號:'))
 while num not in range(1,3):
  num=int(input('選擇無效,請重新輸入:'))
 if num==1:
  print('**************學員信息列表***************')
  #遍歷大列表
  for x in range(0,len(student_list)):
   #根據(jù)x的值從大列表中取出小字典
   student=student_list[x]
   #從小字典中取出姓名、年齡、電話
   name=student['name']
   age=student['age']
   phone=student['phone']
   print('序號:%s 姓名:%s 年齡:%s 電話:%s'%(x,name,age,phone))
 else:
  name = input('請輸入您要查詢的學員姓名:')
  while 1:
   a=False
   for student in student_list:
    if student['name'] == name:
     index = student_list.index(student, 0, 8)
     print('序號:%s 姓名:%s 年齡:%s 電話:%s'%(index,student_list[index]['name'],student_list[index]['age'],
             student_list[index]['phone']))
     a=True
   if a==False:
    name=input('該學員沒找到,請重新輸入:')
   else:
    break
 
# 修改學員的函數(shù)
def update_student():
 #判斷是否有學員信息,如果沒有,直接結(jié)束函數(shù)的執(zhí)行
 if len(student_list)==0:
  print('沒有學員信息,無法進行修改操作!')
  #強制結(jié)束函數(shù)的執(zhí)行 return下面的代碼都不會再執(zhí)行了
  return
 #1.查詢學員信息
 query_student()
 #2.選擇要修改的學員序號
 num=input('請選擇要修改的學員序號:')
 #3.轉(zhuǎn)換為整數(shù)
 num=int(num)
 #4.判斷選擇的學員序號是否在范圍內(nèi)
 while num not in range(0,len(student_list)):
  #不在范圍,重新選擇
  num=input('沒有該序號,請重選:')
  num=int(num)
 #5.根據(jù)選擇的序號取出對應(yīng)的小字典
 student=student_list[num]
 new_name=input('請輸入修改后的姓名(%s):'%student['name'])
 new_age=input('請輸入修改后的年齡(%s)'%student['age'])
 new_phone=input('請輸入修改后的電話(%s)'%student['phone'])
 #6.修改小列表中的數(shù)據(jù)
 student['name']=new_name
 student['age']=new_age
 student['phone']=new_phone
 print('修改數(shù)據(jù)完成!')
#刪除學員
#1.根據(jù)學員序號刪除 2.刪除所有學員 3.根據(jù)學員的姓名來刪除(有同名的)
def delete_student():
 if len(student_list)==0:
  print('沒有學員信息,無法執(zhí)行刪除操作!')
  return
 print('1.根據(jù)學員序號刪除')
 print('2.刪除所有學員')
 print('3.根據(jù)學員姓名刪除學員')
 #獲取輸入的內(nèi)容并轉(zhuǎn)換為整數(shù)類型
 num=int(input('請輸入您的選擇:'))
 #判斷選擇的選項是否在范圍內(nèi)
 while num not in range(1,4):
  num=int(input('沒有該序號,請重新選擇'))
 #判斷選擇的選項
 if num == 1:
  # 1.查詢學員信息
  query_student()
  #2.選擇刪除的序號
  num=int(input('請輸入您要刪除的學員序號:'))
  #判斷選擇序號是否在范圍內(nèi)
  while num not in range(0,len(student_list)):
   num=int(input('序號無效,請重選!'))
  is_del=input('您確定要刪除(%s)學員的信息嗎?(y/n):'%student_list[num]['name'])
  if is_del=='y':
   #刪除列表中的所有數(shù)據(jù)
   del student_list[num]
   #student_list.pop(index)
   print('%s學員信息刪除成功!'%student_list[num]['name'])
  else:
   print('刪除數(shù)據(jù)操作已去取消!')
 elif num==2:
  #確認刪除
  is_del=input('您確定要刪除所有學員信息嗎?y(確定)/n(取消):')
  if is_del=='y':
   #刪除列表中的所有數(shù)據(jù)
   student_list.clear()
   print('所有學員刪除成功!')
  else:
   print('刪除數(shù)據(jù)操作已去取消!')
 else:
  name = input('請輸入您要刪除的學員的姓名:')
  while 1:
   # 定義列表存放不等于name的小列表
   list=[]
   # 遍歷大列表
   for student in student_list:
    # 判斷輸入的name是否和小字典里name的相等
    if student['name']!=name:
     # 找出與name不等的小字典所在的索引
     index=student_list.index(student)
     # 將符合的小字典添加到list列表中
     list.append(student_list[index])
   # 判斷兩個列表長度是否相等 相等說明大列表中不存在名字為name的小列表
   if len(student_list)==len(list):
    name=input('序號不存在,請重新輸入:')
   # 存在符合的小字典
   else:
    # 清空大列表
    student_list.clear()
    # 循環(huán)將list列表的內(nèi)容寫入到空的大列表中
    for dict in list:
     student_list.append(dict)
    break
#1.聲明一個大列表,存放所有學員信息
student_list=[]
#2.while循環(huán)
while True:
 print('***********學員管理系統(tǒng)V2.0**************')
 print('1.添加學員')
 print('2.查詢學員')
 print('3.修改學員')
 print('4.刪除學員')
 print('0.退出程序')
 print('***************************************')
 #選擇操作
 num=input('請選擇您的操作:')
 #轉(zhuǎn)換為整數(shù)
 num=int(num)
 #判斷選擇的選項是否在范圍內(nèi)
 while num not in range(0,5):
  #重新選擇
  num=input('沒有該選項,請重選:')
  #把字符串轉(zhuǎn)換為整數(shù)類型
  num=int(num)
 #根據(jù)選擇的選項執(zhí)行對應(yīng)的操作
 if num==1:
  #調(diào)用添加學員的函數(shù)
  add_student()
 elif num==2:
  #調(diào)用查詢學員的函數(shù)
  query_student()
 elif num==3:
  #調(diào)用修改學員的的函數(shù)
  update_student()
 elif num==4:
  delete_student()
 else:
  print('程序已結(jié)束!')
  break

3.0版本學生管理系統(tǒng)--將學員信息存入文件中

def is_in_range():
 index = input('請選擇要(修改)刪除的學員序號:')
 index = int(index)
 while index not in range(0, len(student_list)):
  index = input('您輸入的序號不在范圍內(nèi),請重新輸入:')
  index = int(index)
 return index
def add_stu():
 name = input('請輸入姓名:')
 age = input('請輸入年齡:')
 sex = input('請輸入性別:')
 person_list = [name, age, sex]
 student_list.append(person_list)
 print('添加成功!')
def alter_stu():
 index=is_in_range()
 person = student_list[index]
 name = person[0]
 age = person[1]
 sex = person[2]
 student_list[index][0] = input('請輸入修改后的姓名:(%s):' % name)
 student_list[index][1] = input('請輸入修改后的年齡:(%s):' % age)
 student_list[index][2] = input('請輸入修改后的性別:(%s)' % sex)
 print('修改成功!')
def see_stu():
 for x in range(0, len(student_list)):
  person = student_list[x]
  name = person[0]
  age = person[1]
  sex = person[2]
  print('序號:%s 姓名:%s 年齡:%s 性別:%s ' % (x, name, age, sex))
def del_stu():
 print('1.刪除所有學員')
 print('2.刪除選擇的學員')
 num = input('請輸入您的選擇:')
 if num == '1':
  student_list.clear()
 else:
  index = is_in_range()
  del student_list[index]
#聲明保存數(shù)據(jù)的函數(shù)
def save_data():
 #1.打開文件
 file_handle=open('student_v2.txt',mode='w')
 #2.for循環(huán)遍歷大列表
 for student in student_list:
  #把列表中的數(shù)據(jù)用空格分開拼接成一個字符串
  s=' '.join(student)
  #寫入
  file_handle.write(s)
  file_handle.write('\n')
 #3.關(guān)閉文件
 file_handle.close()
#引入os模塊
import os
#讀取文件的函數(shù)
def read_data():
 #判斷文件是否存在
 rs=os.path.exists('student_v2.txt')
 if rs==True:
  #1.打開文件
  file_handle=open('student_v2.txt',mode='r')
  #2.取出信息
  contents=file_handle.readlines()
  for content in contents:
   #去除/n
   content=content.strip('\n')
   #使用空格分割字符串,得到列表
   list_1=content.split(' ')
   #將小列表添加到大列表中
   student_list.append(list_1)
  # 3.關(guān)閉文件
  file_handle.close()
# 聲明一個大列表,存放學院的姓名
student_list = []
read_data()
while True:
 print('1.添加學員')
 print('2.修改學員')
 print('3.查詢學員')
 print('4.刪除學員')
 print('0.退出程序')
 sel_num = input('請輸入您要進行的操作:')
 sel_num = int(sel_num)
 # 如果選擇的數(shù)字不在0~5 繼續(xù)選擇
 while sel_num not in range(0, 5):
  sel_num = input('您的選擇無效,請重新選擇:')
  sel_num = int(sel_num)
 # 添加學員
 if sel_num == 1:
  add_stu()
  save_data()
 elif sel_num == 2:
  # 1.展示所有學員信息
  see_stu()
  # 2.選擇要修改的學員序號
  alter_stu()
  save_data()
 elif sel_num == 3:
  see_stu()
 elif sel_num == 4:
  see_stu()
  # 2.選擇要刪除的學員序號
  del_stu()
  save_data()
 else:
  break

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python ansible自動化運維工具執(zhí)行流程

    python ansible自動化運維工具執(zhí)行流程

    ansible是基于 paramiko 開發(fā)的,并且基于模塊化工作,本身沒有批量部署的能力,接下來通過本文給大家分享python ansible自動化運維工具的特點及執(zhí)行流程,感興趣的朋友跟隨小編一起看看吧
    2021-06-06
  • Python中的迭代和列表生成式

    Python中的迭代和列表生成式

    這篇文章主要介紹了Python中的迭代和列表生成式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教<BR>
    2024-02-02
  • pandas-resample按時間聚合實例

    pandas-resample按時間聚合實例

    今天小編就為大家分享一篇pandas-resample按時間聚合實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • 關(guān)于Python八大排序?qū)崿F(xiàn)方法(冒泡排序、快速排序等)

    關(guān)于Python八大排序?qū)崿F(xiàn)方法(冒泡排序、快速排序等)

    這篇文章主要介紹了關(guān)于Python八大排序?qū)崿F(xiàn)方法,主要有基數(shù)排序、歸并排序、堆排序、簡單選擇排序、直接插入排序、希爾排序、快速排序、冒泡排序等,需要的朋友可以參考下
    2023-03-03
  • Python操作excel文件與csv文件方法詳解

    Python操作excel文件與csv文件方法詳解

    這篇文章主要介紹了Python操作excel文件與csv文件方法,csv文件可以直接通過excel打開,以行列保存顯示文件,相比與excel來說它只能保存數(shù)據(jù),不能保存公式和函數(shù),然而python處理兩種文件的方式大同小異,感興趣的朋友可以參考下
    2023-12-12
  • Python3.5 創(chuàng)建文件的簡單實例

    Python3.5 創(chuàng)建文件的簡單實例

    下面小編就為大家分享一篇Python3.5 創(chuàng)建文件的簡單實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • ipad上運行python的方法步驟

    ipad上運行python的方法步驟

    在本篇文章里小編給大家分享的是關(guān)于ipad上運行python的方法步驟以及相關(guān)知識點,有需要的朋友們學習下。
    2019-10-10
  • 詳解python中的index函數(shù)用法

    詳解python中的index函數(shù)用法

    這篇文章主要介紹了詳解python中的index函數(shù)用法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-08-08
  • 在Python的Django框架中顯示對象子集的方法

    在Python的Django框架中顯示對象子集的方法

    這篇文章主要介紹了在Python的Django框架中顯示對象子集的方法,即queryset的參數(shù)的使用相關(guān),需要的朋友可以參考下
    2015-07-07
  • Python實現(xiàn)前向和反向自動微分的示例代碼

    Python實現(xiàn)前向和反向自動微分的示例代碼

    自動微分技術(shù)(稱為“automatic differentiation, autodiff”)是介于符號微分和數(shù)值微分的一種技術(shù),它是在計算效率和計算精度之間的一種折衷。本文主要介紹了Python如何實現(xiàn)前向和反向自動微分,需要的可以參考一下
    2022-12-12

最新評論