亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python創(chuàng)建學(xué)生管理系統(tǒng)

 更新時(shí)間:2019年11月22日 09:55:03   作者:瑤瑤姐姐  
這篇文章主要為大家詳細(xì)介紹了python創(chuàng)建學(xué)生管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

使用python創(chuàng)建學(xué)生管理系統(tǒng),供大家參考,具體內(nèi)容如下

創(chuàng)建學(xué)生管理系統(tǒng),可謂是學(xué)習(xí)編程最基礎(chǔ)的一小步。

主要是分為以下幾個(gè)思路:

接下來直接上源碼

#!/usr/bin/python3
# coding=utf-8
# 導(dǎo)入包
import random
# 全局變量
# 函數(shù)
# 類
# 調(diào)用函數(shù)或者類
# 裝所以數(shù)據(jù)的列表
class StudentSys(object):
 def __init__(self):
  # 實(shí)例屬性
  self.names = []
  self.infos = "1:增加|2:刪除|3:修改|4:查找|5:顯示|6:退出系統(tǒng)"

 # 打印提示信息(菜單)
 def print_menu(self):
  "打印提示菜單信息"
  print("=" * 25)
  print("\t~學(xué)生管理系統(tǒng)版本~")
  print("\t1:添加學(xué)生信息")
  print("\t2:刪除學(xué)生信息")
  print("\t3:修改學(xué)生信息")
  print("\t4:查找學(xué)生信息")
  print("\t5:顯示學(xué)生信息")
  print("\t6:退出學(xué)生信息系統(tǒng)")
  print("=" * 25)

 def add_info(self):
  "添加信息"
  self.student = {}
  name = input("請(qǐng)?zhí)砑有峦瑢W(xué)的姓名:")
  phone = input("請(qǐng)?zhí)砑有峦瑢W(xué)的手機(jī)號(hào):")
  wechat = input("請(qǐng)輸入新同學(xué)的微信號(hào):")
  self.student["name"] = name
  self.student["phone"] = phone
  self.student["wechat"] = wechat

  # 把學(xué)生信息(字典里面)添加到列表
  self.names.append(self.student)
  self.show_info()
  self.save_info()

 def delete_info(self):
  '刪除信息'
  # 根據(jù)下標(biāo)刪除和內(nèi)容刪除和末尾刪除
  del_name = input("請(qǐng)輸入刪除的學(xué)生的姓名:")
  for name in self.names:
   # name:{"name":"曹操"....}
   if del_name == name.get("name"):
    self.names.remove(name)

  self.show_info()
  self.save_info()

 def modify_info(self):
  """修改信息"""
  # 根據(jù)下標(biāo)修改index是列表的方法
  find_name = input("請(qǐng)輸入您需要修改學(xué)生的姓名: ")
  flag = 0 # 0,沒有找到,1找到了
  for name in self.names:

   if find_name == name["name"]:
    new_name = input("請(qǐng)輸入新的名字: ")
    name["name"] = new_name
    flag = 1
    break

  if flag == 0:
   print("該名學(xué)生%s不存在" % find_name)

  else:
   self.show_info()
  self.save_info()

 def find_info(self):
  '''查找信息'''
  find_name = input("請(qǐng)輸入你要查找的姓名:")
  flag = 0 # 0,沒有找到,1找到了
  for name in self.names:
   for value in name.values():
    if find_name == value:
     flag = 1
     print("找到了:{}".format(find_name))
     break

  if flag == 0:
   print("沒有找到:{}".format(find_name))

 def show_info(self):
  "表格方式顯示所以信息"
  print("\n")
  print("當(dāng)前學(xué)生信息")
  print("~" * 50)
  print("\t姓名\t\t\t電話\t\t\t微信\t")
  for name in self.names:
   msg = "\t" + name.get("name") + "\t\t" + name.get("phone") + "\t\t" + name.get("wechat") + "\t\t"
   print("~" * 50)
   print(msg)
  print("~" * 50)
  print("\n")

 # 程序的主要邏輯和程序入口
 def start(self):
  self.print_menu()
  # 加載文件中保存的信息,加載到內(nèi)存中
  self.load_info()
  while True:
   print("\n\n")
   print("操作指令")
   print("~" * 50)
   print(self.infos)
   print("~" * 50)
   number = input("請(qǐng)按照上面的提示輸入相應(yīng)指令:")

   # 判斷是否輸入是純的數(shù)字
   if number.isdigit():
    number = int(number)
    if number == 1:
     # 添加信息
     self.add_info()
    elif number == 2:
     # 刪除信息
     self.delete_info()
    elif number == 3: # 修改
     # 修改信息
     self.modify_info()
    elif number == 4: # 查找
     # 查找信息
     self.find_info()
    elif number == 5:
     # 顯示信息
     self.show_info()
    elif number == 6:
     break

   else:
    print("請(qǐng)輸入正確的編號(hào)!")

 # 運(yùn)行的時(shí)候,讀取保存在文件的信息,并且賦值給names,第一次讀文件,文件不存在,"r"會(huì)報(bào)錯(cuò),"a+"
 def load_info(self):
  f = open("students.txt", "a+")
  f.seek(0, 0)
  content = f.read()
  # print("content==",content)
  if len(content) > 0:
   self.names = eval(content)

 # 每次刪除或者修改或者增加都重新保存數(shù)據(jù),覆蓋保存w
 def save_info(self):
  f = open("students.txt", "w")
  f.write(str(self.names))
  f.close()


s = StudentSys()
s.start()

實(shí)現(xiàn)后的功能如下:

1、項(xiàng)目演示--啟動(dòng)

2、添加學(xué)生信息

3、添加多個(gè)學(xué)生信息后

4、刪除數(shù)據(jù)

5、修改數(shù)據(jù)

6、查找數(shù)據(jù)

7、顯示數(shù)據(jù)

8、退出系統(tǒng)

更多學(xué)習(xí)資料請(qǐng)關(guān)注專題《管理系統(tǒng)開發(fā)》。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python process模塊的使用簡(jiǎn)介

    python process模塊的使用簡(jiǎn)介

    在python中大部分情況需要使用多進(jìn)程,python提供了multiprocessing模塊。multiprocessing模塊的功能眾多:支持子進(jìn)程、通信和共享數(shù)據(jù)、執(zhí)行不同形式的同步,提供了Process、Queue、Pipe、Lock等組件。本文將著重講解process模塊的使用
    2021-05-05
  • python實(shí)現(xiàn)石頭剪刀布小游戲

    python實(shí)現(xiàn)石頭剪刀布小游戲

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)石頭剪刀布小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • Python Spyder 調(diào)出縮進(jìn)對(duì)齊線的操作

    Python Spyder 調(diào)出縮進(jìn)對(duì)齊線的操作

    這篇文章主要介紹了Python Spyder 調(diào)出縮進(jìn)對(duì)齊線的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • python分割文件的常用方法

    python分割文件的常用方法

    這篇文章主要介紹了python分割文件的常用方法,包括指定分割大小、按行分割與分割合并等技巧,非常實(shí)用,需要的朋友可以參考下
    2014-11-11
  • PyQt6中自定義浮點(diǎn)型滑塊類的實(shí)現(xiàn)

    PyQt6中自定義浮點(diǎn)型滑塊類的實(shí)現(xiàn)

    在PyQt6中,滑塊是常用的用戶界面元素之一,用于選擇數(shù)值范圍,本文主要介紹了PyQt6中自定義浮點(diǎn)型滑塊類的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • OpenCV實(shí)現(xiàn)相機(jī)校正

    OpenCV實(shí)現(xiàn)相機(jī)校正

    這篇文章主要為大家詳細(xì)介紹了OpenCV實(shí)現(xiàn)相機(jī)校正,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • python實(shí)現(xiàn)網(wǎng)頁(yè)鏈接提取的方法分享

    python實(shí)現(xiàn)網(wǎng)頁(yè)鏈接提取的方法分享

    這篇文章主要介紹了python實(shí)現(xiàn)的網(wǎng)頁(yè)鏈接提取的方法,需要的朋友可以參考下
    2014-02-02
  • Python深度學(xué)習(xí)之FastText實(shí)現(xiàn)文本分類詳解

    Python深度學(xué)習(xí)之FastText實(shí)現(xiàn)文本分類詳解

    FastText是一種典型的深度學(xué)習(xí)詞向量的表示方法,它非常簡(jiǎn)單通過Embedding層將單詞映射到稠密空間,然后將句子中所有的單詞在Embedding空間中進(jìn)行平均,進(jìn)而完成分類操作
    2022-09-09
  • python自動(dòng)更新pom文件的方法

    python自動(dòng)更新pom文件的方法

    這篇文章主要介紹了python自動(dòng)更新pom文件的方法,本文通過圖文實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-09-09
  • python繪制彩虹圖

    python繪制彩虹圖

    這篇文章主要為大家詳細(xì)介紹了python繪制彩虹圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-12-12

最新評(píng)論