鱼C论坛

 找回密码
 立即注册
查看: 4192|回复: 8

[分享] 写了一个剪发次卡管理软件,大家见笑了

[复制链接]
发表于 2016-12-7 20:59:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
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[name]) == 'YES':
                vip[name] -= 1
                print("%s客人剩余%d次" % (name, vip[name]))

    if instr == 2:
        name = a.inp_name()
        if name in vip:
            print("该客人已存在-->", end = "")
            print("%s客人剩余:%d次" % (name, vip[name])) 
            if input("是否修改充值卡次数(YES/NO):") == 'YES':
                vip[name] += int(a.inp_count())
                print("%s客人剩余%d次" % (name, vip[name]))
            
        else:
            vip[name] = a.inp_count()

    if instr == 4:
        break
    
    if instr == 1:
        name = a.inp_name()
        print("%s用户剩余%d次" % (name, vip[name]))        

print("|---感谢您的使用---|")


目前的小问题是,如果遇到重名的人怎么办? 希望知道的朋友能指导指导
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-12-7 23:28:09 | 显示全部楼层
Python字典其实支持一键多值,看你怎么操作了。
你在创建字典的时候调用dict.setdefault()方法
然后把值以列表的形式加入就可以了。比如:
dict1 = {}
name = "王麻子"
list1 = ["老王的账号","小王的账号","大王的账号"]
dict1.setdefault(name,0)
dict1["王麻子"] = list1

三个重名,老王小王中王都是王麻子,怎么访问各自的账号呢?
很简单
dict1["王麻子"][0]

结果是:
'老王的账号'
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-8 14:17:37 | 显示全部楼层
zua 发表于 2016-12-7 23:28
Python字典其实支持一键多值,看你怎么操作了。
你在创建字典的时候调用dict.setdefault()方法
然后把值 ...

谢谢,有点难我研究研究
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-12-8 14:55:14 | 显示全部楼层
cdikop 发表于 2016-12-8 14:17
谢谢,有点难我研究研究

就是创建字典,值用列表写入,毕竟每个列表可以扔很多个数据。
然后调用key的时候 就对应一个列表,然后再调取列表中的每个数据就可以了。读取列表是很简单的,下标就可以。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-8 15:17:30 | 显示全部楼层
zua 发表于 2016-12-8 14:55
就是创建字典,值用列表写入,毕竟每个列表可以扔很多个数据。
然后调用key的时候 就对应一个列表,然后 ...

瞬间懂了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-8 15:18:25 | 显示全部楼层
zua 发表于 2016-12-8 14:55
就是创建字典,值用列表写入,毕竟每个列表可以扔很多个数据。
然后调用key的时候 就对应一个列表,然后 ...

非常感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2016-12-8 16:03:34 | 显示全部楼层

最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-12-14 20:33:17 | 显示全部楼层
厉害了word姐
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-12-25 11:22:37 | 显示全部楼层
其实直接丢入数据库是最好的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 22:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表