一起创业网-为互联网创业者服务

pythonatm程序怎么写

创建一个简单的Python ATM程序涉及多个步骤,包括用户登录、取款、购物、还款和账单查询等。以下是一个基本的框架,使用面向对象编程的方法来实现这些功能。

1. 账户管理

首先,我们需要一个类来管理用户账户信息。

```python

class User:

def __init__(self, name, idcard, phonenum, card):

self.name = name

self.idcard = idcard

self.phonenum = phonenum

self.card = card

self.balance = 0

self.islocked = False

class Account:

def __init__(self):

self.users = {}

def add_user(self, user):

self.users[user.idcard] = user

def find_user(self, idcard):

return self.users.get(idcard)

def lock_account(self, idcard):

user = self.find_user(idcard)

if user:

user.islocked = True

def unlock_account(self, idcard):

user = self.find_user(idcard)

if user:

user.islocked = False

```

2. ATM类

接下来,我们创建一个ATM类,用于处理用户输入和调用相应的账户操作。

```python

import os

class ATM:

def __init__(self, account):

self.account = account

def login(self, idcard, password):

user = self.account.find_user(idcard)

if user and user.password == password and not user.islocked:

return user

return None

def logout(self, idcard):

user = self.account.find_user(idcard)

if user:

user.islocked = True

return True

return False

def deposit(self, idcard, amount):

user = self.account.find_user(idcard)

if user and not user.islocked:

user.balance += amount

return True

return False

def withdraw(self, idcard, amount):

user = self.account.find_user(idcard)

if user and not user.islocked and user.balance >= amount:

user.balance -= amount

return True

return False

def transfer(self, from_idcard, to_idcard, amount):

from_user = self.account.find_user(from_idcard)

to_user = self.account.find_user(to_idcard)

if from_user and to_user and not from_user.islocked and not to_user.islocked and from_user.balance >= amount:

from_user.balance -= amount

to_user.balance += amount

return True

return False

def query_balance(self, idcard):

user = self.account.find_user(idcard)

if user:

return user.balance

return None

```

3. 主程序

最后,我们编写主程序来运行ATM系统。