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

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

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

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

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

主要是分為以下幾個思路:

接下來直接上源碼

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

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

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

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

 def delete_info(self):
  '刪除信息'
  # 根據(jù)下標刪除和內容刪除和末尾刪除
  del_name = input("請輸入刪除的學生的姓名:")
  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ù)下標修改index是列表的方法
  find_name = input("請輸入您需要修改學生的姓名: ")
  flag = 0 # 0,沒有找到,1找到了
  for name in self.names:

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

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

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

 def find_info(self):
  '''查找信息'''
  find_name = input("請輸入你要查找的姓名:")
  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("當前學生信息")
  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()
  # 加載文件中保存的信息,加載到內存中
  self.load_info()
  while True:
   print("\n\n")
   print("操作指令")
   print("~" * 50)
   print(self.infos)
   print("~" * 50)
   number = input("請按照上面的提示輸入相應指令:")

   # 判斷是否輸入是純的數(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("請輸入正確的編號!")

 # 運行的時候,讀取保存在文件的信息,并且賦值給names,第一次讀文件,文件不存在,"r"會報錯,"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()

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

1、項目演示--啟動

2、添加學生信息

3、添加多個學生信息后

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

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

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

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

8、退出系統(tǒng)

更多學習資料請關注專題《管理系統(tǒng)開發(fā)》。

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

相關文章

  • python process模塊的使用簡介

    python process模塊的使用簡介

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

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

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

    Python Spyder 調出縮進對齊線的操作

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

    python分割文件的常用方法

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

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

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

    OpenCV實現(xiàn)相機校正

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

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

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

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

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

    python自動更新pom文件的方法

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

    python繪制彩虹圖

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

最新評論