Python通讯录管理系统,python通讯录信息管理系统

  Python通讯录管理系统,python通讯录信息管理系统

  本文主要详细介绍用python实现的通讯录管理系统。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下。

  本文分享用python实现通讯录管理系统的具体代码,供大家参考。具体内容如下

  

题目

  最终方案

  一. 项目要求

  该函数用于实现通讯录管理系统。通讯录的内容包括姓名、联系方式、微信号、电子邮件等需要保存的信息。至少应包括两种姓名和联系方式。系统的功能包括添加、删除、修改、查询、显示和保存信息。

  二项目步骤

  1.使用自定义函数来实现每个函数。

  (1)功能菜单:显示项目应具备的功能。

  (2)添加:输入要添加的信息。

  (3)删除:输入要删除的联系人姓名,删除其所有信息。

  (4)修改:输入要修改的联系人姓名,修改联系人信息。

  (5)查询:输入要查询的联系人姓名,遍历列表得到其信息。

  (6)显示:显示所有联系人信息。

  (7)保存:将数据保存到文件中。

  (8)主要功能:首先显示菜单,提示用户输入要执行的操作码,调用相应的函数。

  2.当添加、删除或修改信息时,应同步保存到文件中。

  将列表用作全局变量。当列表信息改变时,调用保存函数。

  3.写一个模块,在main函数中调用,测试其功能。完成一个,测试一个,保证所有模块都能正确运行,信息保存在文本文件中。

  4.您可以使用列表、元组和字典来存储地址簿信息。如果,目前只存储姓名和手机号,这里,选择字典,转换成元组保存在列表中。

  5.最初,用学生的名字创建一个文本文件,并输入一个空列表[]。

  三、项目代码要求:

  1.代码应该有必要的注释来解释它的功能。

  2.有每个模块的测试结果。

  3.如果有截图,截图要清晰。

  

代码

  1.代码说明

  题目要求从模块调用函数,所以需要在同一个文件夹下建立两个python文件:manage.py和main.py,其中manage.py中的函数是设计的,manage.py中的函数是在main.py中调用和实现的。

  2.manage.py

  注意:

  1.默认情况下,所有要求输入的名称都是合理的,对输入的内容不进行判断和过滤。

  2.默认打开的文件已经存在,不判断文件的状态,而是根据学生是否存在于列表信息中。

  3.没有使用字典的操作。

  4.如果想将所有学生信息保存在同一个txt文件中,只需在每个函数中注释掉file_name的重命名部分即可。

  5.修改信息的方法是删除原有内容,重新编写新内容。原因是电脑快没电了。这可以作为你自己的测试板,重新设计。

  6.我不知道最后一步实验的目的是什么,所以没有做。

  7.因为列表是用来判断学生内容的,所以文件保存成功后,程序列表会被再次清空,也就是再也找不到信息了。

  8.要打印所有信息,可以读取文件夹中的多个文件,遍历目录中的所有txt文件,读出内容并打印出来。请自己写。

  2021/6/16

  添加:

  1.修改文件内容时,如果一起修改名称,文件名将与文件内容中的名称不同。

  2.修改文件内容时,如果将名称更改为已经出现的另一个名称,则重复的名称将出现在列表中。

  3.没有先处理重名的操作。

  4.在同名的情况下,如果修改了姓名的信息,那么姓名第一次出现的地点的信息也会被修改。

  5.因此,如果错误1和错误2同时发生,文件将是,嗯.紧张和困惑。

  #d={} #字典存储信息

  学生=[]

  Path=D:\\ #文件保存路径默认为空,即保存在当前文件夹下。建议创建一个新文件夹并修改路径。

  File_name=path student.txt #文件的默认保存位置

  #显示命令

  定义打印消息():

  打印( * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *)

  打印( **1。添加学生信息’)

  打印( **2。删除学生信息’)

  打印( **3。修改学生信息’)

  打印( **4。查找学生信息’)

  打印( **5。查看所有信息’)

  打印( **6。检查操作菜单’)

  #添加信息

  def add():

  打印(请输入要添加的姓名和手机号码,用空格分隔:)

  #列表

  A=输入()。拆分(“”)

  temp_str=

  ""

          for i in A:

              temp_str += i+"  "

          if temp_str != /n: #防止错误输入

               Student.append(A)  #加入列表

               file_name = path+A[0] +".txt"

               print(temp_str, file=open(file_name, w))  #创建文件,并写入文件  如果存在同名文件,则原内容会被覆盖

          #字典

          # A = input().split(" ")

          # Name.append(A[0])

          # d[A[0]] = A[1]

          # print("添加成功")

          # save(A[0])  # 更新学生信息

  #删除信息

  def delete():

      print("请输入需要删除的姓名:")

      name = input()

      #字典删除

      # del d[name]

      # Name.remove(name)

      #从文件中删除学生信息

      exist = 0

      for i in range(len(Student)):

          #存在该学生

          if Student[i].count(name) > 0:

              if name == Student[i][0]:

                  file_name = path + name + ".txt"

                  #删除列表中的信息

                  Student.pop(i)

                  #删除文件中的信息

                  lines = [l for l in open(file_name, "r") if l.find(name, 0, len(name)) != 0] #暂时的删除方式

                  fd = open(file_name, "w")                                                    #如: 要删除张三‘,但‘张三四也会被删除

                  fd.writelines(lines)

                  fd.close()

                  print("删除成功")

                  exist = 1  #判断学生是否存在的标签

                  break

          else :

              exist = 0

      if exist == 0:

           print("未找到该学生的信息!")

  def delete_2(name,f_n):

        # 从列表里删除该学生

          for i in range(len(Student)):

              # 存在该学生

              if Student[i].count(name) > 0:

                  if name == Student[i][0]:

                      del Student[i]

                      break

          #从文件中删除学生信息

          lines = [l for l in open(f_n, "r") if l.find(name, 0, len(name)) != 0]

          fd = open(f_n, "w")

          fd.writelines(lines)

          fd.close()

  #查询信息

  def search():

      print("请输入需要查询的姓名:")

      name  = input()

      #字典查询

      #print("查询结果:",name,d[name])

      exist = 0

      for i in range(len(Student)):

          #存在该学生 这一步判断有点多余 但是为了简化打印未找到的结果还是这样做了

          if Student[i].count(name) > 0:

              if name == Student[i][0]:

                  print("查询结果: ")

                  for temp in Student[i]:

                      print(temp,end=" ")

                  print()

                  exist = 1  # 判断学生是否存在的标签

                  break

          else:

                  exist = 0

      if exist == 0:

                  print("未找到该学生的信息!")

  #更改文件信息

  def change_file():

      print("输入需要修改信息的学生姓名:")

      name = input()

      exist = 0

      for i in range(len(Student)):

          #存在该学生

          if Student[i].count(name) > 0:

              if name == Student[i][0]:

                  # 找到了该学生

                  # 下面进行修改信息的操作

                  file_name = path + name + ".txt"

                  print("输入修改后该学生的所有信息:")

                  A = input().split(" ")

                  temp_str = ""

                  for i in A:

                      temp_str += i + "  "

                  if temp_str != /n:  # 防止错误输入

                      Student.append(A)  # 加入列表

                      delete_2(name,file_name) # 先删除该信息

                      print(temp_str, file=open(file_name, a))  # 创建文件,并重新写入文件

                  print("修改成功")

                  exist = 1  # 判断学生是否存在的标签

                  break

          else:

                  exist = 0

      if exist == 0:

                  print("未找到该学生的信息!")

  #显示信息

  def printf():

      print("所有信息如下:")

      for i in Student:

          for j in i:

              print(j,end=" ")

          print()

  3.main.py

  

import manage

  print("**************************************")

  print("    欢迎来到学生信息管理系统")

  manage.print_message() #打印命令指令

  print("**************************************")

  while(True):

      print("请输入需要执行的操作(输入q‘退出程序):")

      choice = input()

      if choice == 1:

          manage.add()   #增

      if choice == 2:

         manage.delete() #删

      if choice == 3:

         manage.change_file()  #改

      if choice == 4:

         manage.search()  #查

      if choice == 5:

         manage.printf()  #打印

      if choice == 6:

          manage.print_message()  # 打印命令指令

      if choice == q:

          print("退出!")

          break

  以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: