python核心编程-2

  • 建立一个用户数据库类,来管理一个系统,该系统要求用户在登录后才能访问某些资源。这个数据库类对用户进行管理,并在实例化操作时加载之前保存的用户信息,提供访问函数来添加或更新数据库的信息。在数据修改后,数据库会在垃圾回收时将新信息保存到磁盘。
from datetime import datetime
import shelve,os

class dbManger(object):
    def __init__(self,dbfile):
        self.db = {}
        self.flag = False
        self.online = False
        if os.path.exists(dbfile):
            self.db = shelve.open(dbfile)

    def online_user(self,user):
        pass

    def login(self,user,pwd):
        if user not in self.db:
            self.flag = False
        else:
            self.db[user][1] = datetime.now()
            self.flag = True

    def add(self,user,pwd):
            self.db[user] = [pwd,datetime.now()]

    def auth(self,user):
        if self.flag:
            print('s')

  • 实现一个堆栈类,类中应该有push()和pop()方法,还有一个isempty()方法,如果堆栈是空的,返回布尔值1,否则返回0。
class Stack(object):
    def __init__(self,s=[]):
        self.s = s

    def isempty(self):
        if len(self.s):
            return 0
        return 1

    def push(self,d):
        self.s.append(d)

    def pop(self):
        if self.isempty():
            print('cant pop an empty stack')
        else:
            self.s.pop()

    def __str__(self):
        print(self.s)

    __repr__ = __str__
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值