写了一个剪发次卡管理软件,大家见笑了
import pickle
pickle_file = open("customer_data.pkl", 'rb')
vip = pickle.load(pickle_file)
print("|---欢迎进入会员卡管理系统---|")
print("|------1:查询会员资料--------|")
print("|------2:添加新会员----------|")
print("|------3:消费划卡 -----------|")
print("|------4:关闭程序 -----------|")
def oper():#更新数据库
pickle_file_new = open('customer_data.pkl', 'wb')
vip1 = vip
pickle.dump(vip1, pickle_file_new)
pickle_file_new.close()
class Type:
def inp_num(self):
self.num = int(input("请输入编码:"))
return self.num
def inp_name(self):
self.name = input("请输入客户姓名:")
return self.name
def inp_count(self):
self.count = int(input("请输入充值次数:"))
return self.count
while 1:
print() #空一格
oper()
a = Type()
instr = a.inp_num()
if instr == 3:
name = a.inp_name()
if name in vip:
if input("该客人剩余%s次,是否消费一次(YES/NO):" % vip) == 'YES':
vip -= 1
print("%s客人剩余%d次" % (name, vip))
if instr == 2:
name = a.inp_name()
if name in vip:
print("该客人已存在-->", end = "")
print("%s客人剩余:%d次" % (name, vip))
if input("是否修改充值卡次数(YES/NO):") == 'YES':
vip += int(a.inp_count())
print("%s客人剩余%d次" % (name, vip))
else:
vip = a.inp_count()
if instr == 4:
break
if instr == 1:
name = a.inp_name()
print("%s用户剩余%d次" % (name, vip))
print("|---感谢您的使用---|")
目前的小问题是,如果遇到重名的人怎么办? 希望知道的朋友能指导指导{:5_93:} Python字典其实支持一键多值,看你怎么操作了。
你在创建字典的时候调用dict.setdefault()方法
然后把值以列表的形式加入就可以了。比如:dict1 = {}
name = "王麻子"
list1 = ["老王的账号","小王的账号","大王的账号"]
dict1.setdefault(name,0)
dict1["王麻子"] = list1
三个重名,老王小王中王都是王麻子,怎么访问各自的账号呢?
很简单
dict1["王麻子"]
结果是:
'老王的账号' zua 发表于 2016-12-7 23:28
Python字典其实支持一键多值,看你怎么操作了。
你在创建字典的时候调用dict.setdefault()方法
然后把值 ...
谢谢,有点难我研究研究 cdikop 发表于 2016-12-8 14:17
谢谢,有点难我研究研究
就是创建字典,值用列表写入,毕竟每个列表可以扔很多个数据。
然后调用key的时候 就对应一个列表,然后再调取列表中的每个数据就可以了。读取列表是很简单的,下标就可以。 zua 发表于 2016-12-8 14:55
就是创建字典,值用列表写入,毕竟每个列表可以扔很多个数据。
然后调用key的时候 就对应一个列表,然后 ...
瞬间懂了
zua 发表于 2016-12-8 14:55
就是创建字典,值用列表写入,毕竟每个列表可以扔很多个数据。
然后调用key的时候 就对应一个列表,然后 ...
非常感谢{:5_108:} cdikop 发表于 2016-12-8 15:18
非常感谢
{:5_95:}{:5_95:}{:5_95:} 最佳答案 厉害了word姐 其实直接丢入数据库是最好的。
页:
[1]