练习题-名字管理系统/名片管理系统

 1 #名字管理系统
 2 print('='*50)
 3 print('      名片打印系统')
 4 print('输入序号1时新增名字')
 5 print('输入序号2时删除名字')
 6 print('输入序号3时修改名字')
 7 print('输入序号4时查询名字')
 8 print('输入序号5时退出系统')
 9 print('='*50)
10 
11 names=[]
12 while True:
13     num = input('请输入序号:')
14     #判断输入的是否是数字
15     if num.isdigit():
16         if int(num)==1:
17             add_name=input('请输入要新增的名字:')
18             names.append(add_name)
19             print(names)
20         elif int(num)==2:
21             del_name=input('请输入要删除的名字:')
22             if del_name in names:
23                 names.remove(del_name)
24                 print(names)
25             else:
26                 print('该名字不在名片系统内')
27         elif int(num)==3:
28             change_before_name=input('请输入要修改的名字:')
29             change_after_name=input('请输入修改后的名字:')
30             if change_before_name in names:
31                 #先变为字符串替换名字
32                 names1=','.join(names)
33                 names2=names1.replace(change_before_name,change_after_name)
34                 #再将字符串转变成列表
35                 names=names2.split(',')
36                 print(names)
37             else:
38                 print('该名字不在名片系统内')
39         elif int(num)==4:
40             find_name=input('请输入要查询的名字:')
41             if find_name in names:
42                 print(find_name)
43             else:
44                 print('该名字不在名片系统内')
45         elif int(num)==5:
46             break
47         else:
48             print('请输入1-5的序号')
49     else:
50         print('请输入正确的数字')

 

 1 #名片管理系统
 2 print('='*50)
 3 print('    名片管理系统')
 4 print('输入序号1时增加名片')
 5 print('输入序号2时删除名片')
 6 print('输入序号3时修改名片')
 7 print('输入序号4时查询名片')
 8 print('输入序号5时打印所有名片')
 9 print('输入序号6时退出系统')
10 print('='*50)
11 
12 card_info=[]
13 
14 while True:
15     num=int(input('请输入序号:'))
16 
17     if num==1:
18         name=input('请输入姓名:')
19         age=input('请输入年龄:')
20         add=input('请输入所在地:')
21         qq=input('请输入qq:')
22 
23         new_info={}
24         new_info['name']=name
25         new_info['age']=age
26         new_info['add']=add
27         new_info['qq']=qq
28 
29         card_info.append(new_info)
30         print(card_info)
31 
32     elif num==2:
33         del_name=input('请输入要先删除的名字:')
34 
35         del_flag=False
36         for i in card_info:
37             if del_name==i['name']:
38                 del_flag=True
39                 del i['name']
40                 print(card_info)
41                 break
42 
43         if del_flag==False:
44             print('找不到该名字')
45     elif num==3:
46         change_before_name=input('请输入要修改的名字:')
47         change_after_name=input('请输入修改后的名字:')
48 
49         change_flag=False
50         for i in card_info:
51             if change_before_name==i['name']:
52                 change_flag=True
53                 i['name']=change_after_name
54                 print(i)
55                 break
56         if change_flag==False:
57             print('找不到该名字')
58     elif num==4:
59         find_name=input('请输入要查询的名字:')
60 
61         find_flag=0 #默认表示找不到
62         for i in card_info:
63             # if find_name==i['name']: 
64             if find_name==i.get('name'): #另一种方法i.get('name')找值
65                 find_flag=1 #表示找到了
66                 print('找到了')
67                 print(i)
68                 break
69         #判断是否找到了
70         if find_flag==0:
71             print('找不到')
72     elif num==5:
73         print(card_info)
74     elif num==6:
75         break
76     else:
77         print('请输入正确的序号')

 

  1 #名片管理系统
  2 def print_info():
  3     print('='*50)
  4     print('    名片管理系统')
  5     print('输入序号1时增加名片')
  6     print('输入序号2时删除名片')
  7     print('输入序号3时修改名片')
  8     print('输入序号4时查询名片')
  9     print('输入序号5时打印所有名片')
 10     print('输入序号6时退出系统')
 11     print('='*50)
 12 
 13 card_info=[]
 14 
 15 def write_info():
 16     name = input('请输入姓名:')
 17     age = input('请输入年龄:')
 18     add = input('请输入所在地:')
 19     qq = input('请输入qq:')
 20 
 21     new_info = {}
 22     new_info['name'] = name
 23     new_info['age'] = age
 24     new_info['add'] = add
 25     new_info['qq'] = qq
 26 
 27     card_info.append(new_info)
 28     print(card_info)
 29 
 30 def del_info():
 31     del_name = input('请输入要先删除的名字:')
 32 
 33     del_flag = False
 34     for i in card_info:
 35         if del_name == i['name']:
 36             del_flag = True
 37             del i['name']
 38             print(card_info)
 39             break
 40 
 41     if del_flag == False:
 42         print('找不到该名字')
 43 
 44 def change_info():
 45     change_before_name = input('请输入要修改的名字:')
 46     change_after_name = input('请输入修改后的名字:')
 47 
 48     change_flag = False
 49     for i in card_info:
 50         if change_before_name == i['name']:
 51             change_flag = True
 52             i['name'] = change_after_name
 53             print(i)
 54             break
 55     if change_flag == False:
 56         print('找不到该名字')
 57 
 58 def find_info():
 59     find_name = input('请输入要查询的名字:')
 60 
 61     find_flag = 0  # 默认表示找不到
 62     for i in card_info:
 63         # if find_name==i['name']:
 64         if find_name == i.get('name'):  # 另一种方法i.get('name')找值
 65             find_flag = 1  # 表示找到了
 66             print('找到了')
 67             print(i)
 68             break
 69     # 判断是否找到了
 70     if find_flag == 0:
 71         print('找不到')
 72 
 73 def print_all_info():
 74     with open('save.txt','r') as f:
 75         a=f.read()
 76         print(a)
 77 
 78 #将信息保存下来
 79 def save_info():
 80     with open('save.txt','a') as f:
 81         f.write(str(card_info))
 82 
 83 def opera_sys():
 84     print_info()
 85     while True:
 86         strr=input('请输入序号:')
 87 
 88         #判断strr输入的是否是数字
 89         if strr.isdigit():
 90             #eval(strr)相当于把strr的“”双引号去掉
 91             num=int(eval(strr))
 92             if num==1:
 93                 write_info()
 94             elif num==2:
 95                 del_info()
 96             elif num==3:
 97                 change_info()
 98             elif num==4:
 99                 find_info()
100             elif num==5:
101                 print_all_info()
102             elif num==6:
103                 break
104             else:
105                 print('请输入正确的序号')
106         else:
107             print('请输入数字')
108         save_info()
109 
110 opera_sys()
名片管理系统-函数+文件版

 

posted on 2019-07-15 22:21  cherry_ning  阅读(210)  评论(0)    收藏  举报

导航