0基础学python(八) |
|
P2P
L3
• 2020-11-01 • 回复 5 • 只看楼主
• 举报
|
今天做一个简单的名片管理系统简单理解一下函数
首先可以给这个小程序定义几个功能
def print_menu():
print("*"*50)
print(" 名片管理系统 V9.999")
print(" 1. 添加一个新的名片")
print(" 2. 删除一个名片")
print(" 3. 修改一个名片")
print(" 4. 查询一个名片")
print(" 5. 显示所有的名片")
print(" 6. 退出系统")
print("*"*50)
这边注意一下因为我们只是打印一个菜单,仅仅显示就ok了,并不需要返回值,就像小时候玩拳皇那类单机游戏的时候最开始的界面都是固定的,让你选择什么模式,是人机还是玩家vs玩家
接下来我们做第一个功能添加名片,当你添加完之后一定要让用户能查询到,所以应该有个全局变量来储存一些信息
#用来存储名片
card_infors = []
def add_new_card_infor():
new_name = input("请输入新的名字:")
new_qq = input("请输入新的QQ:")
new_weixin = input("请输入新的微信:")
new_addr = input("请输入新的住址:")
#定义一个新的字典,用来存储一个新的名片
new_infor = {}
new_infor['name'] = new_name
new_infor['qq'] = new_qq
new_infor['weixin'] = new_weixin
new_infor['addr'] = new_addr
#将一个字典,添加到列表中
global card_infors
card_infors.append(new_infor
让用户输入一些信息,用变量储存起来,为了方便观察可以用字典的方式加上key,之后进行global进行声明,对全局变量就行修改,将用户输入的数据添加到全局变量中,以便后续的查询等操作
接下来我们进行查询操作
def find_card_infor():
global card_infors
find_name = input("请输入要查找的姓名:")
find_flag = 0#默认表示没有找到
for temp in card_infors:
if find_name == temp["name"]:
print("%s\t%s\t%s\t%s"%(temp['name'], temp['qq'], temp['weixin'], temp['addr']))
find_flag=1#表示找到了
break
#判断是否找到了
if find_flag == 0:
print("查无此人....")
显示功能
def show_all_infor():
global card_infors
print("姓名\tQQ\t微信\t住址")
for temp in card_infors:
print("%s\t%s\t%s\t%s"%(temp['name'], temp['qq'], temp['weixin'], temp['addr']))
接下来我们进行函数的调用
print_menu()#显示功能
while True:
#2. 获取用户的输入
num = int(input("请输入操作序号:"))
#3. 根据用户的数据执行相应的功能
if num==1:
add_new_card_infor()
elif num==2:
pass
elif num==3:
pass
elif num==4:
find_card_infor()
elif num==5:
show_all_infor()
elif num==6:
break
else:
print("输入有误,请重新输入")
当函数设置了n个参数,但是用户输入的参数大于n时,可以用*args,即将多余的参数扔给*args例如
def sum_2_nums(a,b,*args):
print("-"*30)
print(a)
print(b)
print(args)
result = a+b
for num in args:
result+=num
print("result=%d"%result)
sum_2_nums(11,22,33,44,55,66,77)
*的用法不止函数,例如
a=[1,2,3,4,5]
num_1,num_2,*num_3 = a
print(num_1)
print(num_2)
peint(num_3)
**kwargs,以字典的方式
def fun(**kargs):
print(kargs)
fun(x=1,a=2,b=3,c=4)
函数就讲到这里吧,我是真的不想讲类 了??随缘更新吧