python课程设计个人小结_Python课程设计,python

通讯录管理系统

一.设计的任务与要求

1.1设计任务

设计一个实用的小型通讯录程序,具有添加,查询和删除功能。由姓名,籍贯,电话号码1,电话号码2,电子邮箱组成,姓名可以由字符和数字混合编码。电话号码可由字符和数字组成。(用文件保存)实现功能。

1.2任务要求

能够实现:系统以菜单方式工作

(1)信息录入功能

(2)信息浏览功能

(3)信息查询功能

(4)信息修改功能

(5)系统退出功能

二.程序设计思路

2.1主程序

通过主函数的调用实现对通讯录的查询,浏览,录入,修改等功能。

def main():

print(‘你所需要的功能:’)

print(’’’

1.信息录入

2.信息查询

3.信息修改

4.信息浏览

5.系统退出功能

‘’’)

key=input(’’‘请输入:’’’)

if key==‘1’:

luru()

elif key==‘2’:

chaxun()

elif key==‘3’:

x = input(“输入序号:”)

xiugai(x)

elif key==‘4’:

liulan()

elif key==‘5’:

print(‘已退出’)

exit()

main()

在此函数下调用luru(),chaxun(),xiugai()等函数,实现通讯录的基本功能,

2.2流程图

三.程序测试

3.1录入测试

def luru():

f1=open(‘F:\python\通信录.txt’,‘a’)

number=str(input(‘请输入编号:’))

name=str(input(‘请输入姓名:’))

print(‘只需精确到市县即可’)

jiguan=str(input(‘请输入籍贯:’))

callnumber1=str(input(‘请输入电话号码1:’))

callnumber2=str(input(‘请输入电话号码2:’))

email=str(input(‘请输入电子邮箱:’))

numbervalue=re.compile(’\d+’)

resultnumber=numbervalue.match(number)

namevalue=re.compile(’.+’)

resultname=namevalue.match(name)

jiguanvalue=re.compile(’.+’)

resultjiguan=jiguanvalue.match(jiguan)

callnumber1value=re.compile(’

3.2查询测试

def chaxun():

f=input(‘请输入需要查询的名字:’)

f2=open(‘F:\python\通信录.txt’,‘r’)

li=f2.readlines()

count,flag = 0,0

for line in li:

count += 1

while True:

for line in li:

flag += 1

t=line.split()

if t[1]

f:

print(t)

m=input(‘是否对其进行操作 Y/N:’)

if m

’Y’ or m==‘y’:

n=input(‘修改请输入1,删除请按2’)

if n==‘1’:

xiugai(t[0])

break

elif n==‘2’:

delete(t[0])

break

elif m==‘N’ or m==‘n’:

main()

break

else:

if flag == count:

f = input(“姓名不存在,请重新输入:”)

else:

pass

f2.close()

3.3修改测试

def xiugai(x):

f3=open(‘F:\python\通信录.txt’,‘r+’)

f4=open(‘F:/python/temp.txt’,‘w+’)

li=f3.readlines()

for line in li:

print(line)

t=line.split()

if t[0]

x:

t[1]=input(‘请输入姓名:’)

t[2]=input(‘请输入籍贯:’)

t[3]=input(‘请输入电话号1:’)

t[4]=input(‘请输入电话号2:’)

t[5]=input(‘请输入电子邮箱:’)

if re.search(’

’Y’ or s==‘y’:

xiugai(x)

elif s==‘N’ or s==‘n’:

print(‘修改失败!’)

main()

else:

f4.write(line)

f3.close()

f4.close()

chuandi()

main()

3.4浏览测试

def liulan():

f9 = open(‘F:\python\通信录.txt’,‘r’)

while True:

line=f9.readline()

if line==’’:

break

print(line,end= ‘’)

f9.close()

main()

代码:

import os

import re

def luru():

f1=open(‘F:\python\通信录.txt’,‘a’)

number=str(input(‘请输入编号:’))

name=str(input(‘请输入姓名:’))

print(‘只需精确到市县即可’)

jiguan=str(input(‘请输入籍贯:’))

callnumber1=str(input(‘请输入电话号码1:’))

callnumber2=str(input(‘请输入电话号码2:’))

email=str(input(‘请输入电子邮箱:’))

numbervalue=re.compile(’\d+’)

resultnumber=numbervalue.match(number)

namevalue=re.compile(’.+’)

resultname=namevalue.match(name)

jiguanvalue=re.compile(’.+’)

resultjiguan=jiguanvalue.match(jiguan)

callnumber1value=re.compile(’

KaTeX parse error: Double superscript at position 209: …(number+' '̲+name+' …

’,t[5]):

f4.write( x + ’ ’ + t[1] + ’ ’ + t[2] + ’ ’ + t[3] + ’ ’ + t[4] + ’ ’ + t[5] + ’ ’ + ‘\n’)

else:

s=input(‘输入格式有误,是否请重新输入! Y/N:’)

if s==‘Y’ or s==‘y’:

xiugai(x)

elif s==‘N’ or s==‘n’:

print(‘修改失败!’)

main()

else:

f4.write(line)

f3.close()

f4.close()

chuandi()

main()

def chuandi():

f5 = open(‘F:\python\通信录.txt’,‘w’)

f6 = open(‘F:/python/temp.txt’,‘r’)

li=f6.readlines()

for line in li:

f5.write(line)

f5.close()

f6.close()

def delete(x):

f7 = open(‘F:\python\飞机\通信录.txt’,‘r+’)

f8 = open(‘F:/python/飞机/temp.txt’,‘w+’)

li = f7.readlines()

for line in li:

t = line.split()

if t[0] == x:

f8.write(’’)

else:

f8.write(line)

f7.close()

f8.close()

chuandi()

print(‘删除成功!’)

main()

def liulan():

f9 = open(‘F:\python\飞机\通信录.txt’,‘r’)

while True:

line=f9.readline()

if line==’’:

break

print(line,end= ‘’)

f9.close()

main()

def main():

print(‘你所需要的功能:’)

print(’’’

1.信息录入

2.信息查询

3.信息修改

4.信息浏览

5.系统退出功能

‘’’)

key=input(’’‘请输入:’’’)

if key==‘1’:

luru()

elif key==‘2’:

chaxun()

elif key==‘3’:

x = input(“输入序号:”)

xiugai(x)

elif key==‘4’:

liulan()

elif key==‘5’:

print(‘已退出’)

exit()

main()

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值