编写代码1、内容:综合应用Python程序设计知识,设计与实现一款简单的手机银行系统。具体功能要求可参考以下几点: (1)登录功能,使用学号和密码登录,密码连续输错三次则账号冻结; (2)具有账户查询功能:登记账户各项信息,包括:姓名、余额,近一个月的支出和收入,账户挂失; (3)具有存款功能:可按不同货币存款,例如人民币、美元、欧元等; (4)具有取款功能:可快速取1000、2000、3000和其他金额等;(5)具有转账汇款功能:银行账号转账、手机号转账,转账记录,转账限额设置等; (6)具有投资理财功能,如基金投资、购买理财产品、购买个人养 老金; (7)期待同学们设计与实现更多其他功能: (8)系统功能完整,程序运行稳定,打包成独立的exe 文件

时间: 2024-03-14 15:49:42 浏览: 17
以下是一个较为完整的手机银行系统的 Python 代码示例,包含登录、账户查询、存款、取款、转账汇款、投资理财等多个功能: ```python # 定义账户类 class Account: def __init__(self, id, password, name, balance, currency): self.id = id self.password = password self.name = name self.balance = balance self.currency = currency self.last_month_income = 0 self.last_month_expense = 0 self.is_lost = False # 存款 def deposit(self, amount): self.balance += amount print('成功存款', amount, self.currency, ',当前余额为', self.balance, self.currency, '。') # 取款 def withdraw(self, amount): if self.balance >= amount: self.balance -= amount print('成功取款', amount, self.currency, ',当前余额为', self.balance, self.currency, '。') else: print('余额不足,取款失败。') # 转账 def transfer(self, account, amount): if self.balance >= amount: self.balance -= amount account.balance += amount print('成功向', account.name, '(', account.id, ') 转账', amount, self.currency, ',当前余额为', self.balance, self.currency, '。') else: print('余额不足,转账失败。') # 定义投资产品类 class InvestmentProduct: def __init__(self, name, price, expected_return): self.name = name self.price = price self.expected_return = expected_return # 购买 def buy(self, account): if account.balance >= self.price: account.balance -= self.price print('成功购买', self.name, ',当前余额为', account.balance, account.currency, '。') else: print('余额不足,购买失败。') # 预计收益 def get_expected_return(self): return self.price * self.expected_return # 定义银行类 class Bank: def __init__(self): self.accounts = [] self.login_id = None self.login_password = None self.login_attempts = 0 # 注册账户 def register(self, id, password, name, balance, currency): self.accounts.append(Account(id, password, name, balance, currency)) print('成功注册账户', id, ',当前账户数量为', len(self.accounts), '。') # 登录 def login(self, id, password): for account in self.accounts: if account.id == id: if account.password == password: if account.is_lost: print('账户已挂失,无法登录。') return self.login_id = id self.login_password = password self.login_attempts = 0 print('成功登录账户', id, '。') return else: self.login_attempts += 1 if self.login_attempts >= 3: print('密码错误次数超过3次,账户已被冻结。') account.is_lost = True return else: print('密码错误,还有', 3 - self.login_attempts, '次机会。') return print('账户不存在。') # 账户查询 def check_balance(self): for account in self.accounts: if account.id == self.login_id: print('账户信息如下:') print('姓名:', account.name) print('余额:', account.balance, account.currency) print('上个月收入:', account.last_month_income, account.currency) print('上个月支出:', account.last_month_expense, account.currency) print('账户状态:', '挂失' if account.is_lost else '正常') return print('未登录或账户不存在。') # 存款 def deposit(self, amount, currency): for account in self.accounts: if account.id == self.login_id and account.currency == currency: account.deposit(amount) return print('未登录或账户不存在或货币类型不正确。') # 取款 def withdraw(self, amount): for account in self.accounts: if account.id == self.login_id: account.withdraw(amount) return print('未登录或账户不存在。') # 转账 def transfer(self, to_id, amount): for account in self.accounts: if account.id == self.login_id: for to_account in self.accounts: if to_account.id == to_id: account.transfer(to_account, amount) return print('目标账户不存在。') return print('未登录或账户不存在。') # 购买投资产品 def buy_investment_product(self, product_name): for account in self.accounts: if account.id == self.login_id: for product in investment_products: if product.name == product_name: product.buy(account) return print('投资产品不存在。') return print('未登录或账户不存在。') # 查询投资产品预计收益 def check_investment_product_return(self, product_name): for product in investment_products: if product.name == product_name: print('预计收益为', product.get_expected_return(), product.currency, '。') return print('投资产品不存在。') # 定义投资产品列表 investment_products = [ InvestmentProduct('基金A', 1000, 0.05), InvestmentProduct('基金B', 2000, 0.08), InvestmentProduct('理财产品A', 5000, 0.1), InvestmentProduct('个人养老金A', 10000, 0.15) ] # 测试代码 bank = Bank() bank.register('123456', '123456', '张三', 1000, '人民币') bank.login('123456', '654321') # 密码错误 bank.login('123456', '123456') # 成功登录 bank.check_balance() # 显示账户信息 bank.deposit(1000, '人民币') # 存入1000元人民币 bank.deposit(100, '美元') # 存入100美元,货币类型不正确 bank.withdraw(500) # 取出500元人民币 bank.transfer('654321', 300) # 转账300元人民币给账户654321 bank.transfer('654321', 8000) # 余额不足,转账失败 bank.buy_investment_product('基金A') # 购买基金A bank.check_investment_product_return('基金A') # 查询基金A预计收益 bank.check_investment_product_return('基金C') # 投资产品不存在 bank.check_balance() # 显示账户信息 ``` 以上代码示例只是一个简单的模拟,具体的实现可能还需要根据实际情况进行调整和扩展。同时,如果需要将程序打包成独立的 exe 文件,可以使用 PyInstaller 等工具实现。

最新推荐

recommend-type

不到40行代码用Python实现一个简单的推荐系统

主要给大家介绍了如何利用不到40行python代码实现一个简单的推荐系统,文中通过示例代码介绍的非常详细,对大家学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
recommend-type

[Python语言程序设计-第11期] 测验1: Python基本语法元素 (第1周)

1.Guido van Rossum正式对外发布Python版本的年份是:1991年 2.以下关于Python语言中“缩进”说法正确的是:缩进在程序中长度统一且强制使用 3.以下不属于IPO模型的是:Program 4.字符串是一个字符序列,给字符串s,...
recommend-type

EduCoder实践课程——Python程序设计入门答案

以前没有学过,可能是之前有过acm经验,感觉Python挺好入门的,把自己学习过程中的代码记录下来,一是为了自己写报告方便,二来大家可以作为参考代码,如果有更好的代码可以留言,大家相互学习。本文持续更新~ 1、...
recommend-type

python学生信息管理系统实现代码

主要介绍了python学生信息管理系统的实现代码,代码简单,复制即可使用,需要的朋友可以参考下
recommend-type

Python3程序设计课后习题参考答案.pdf.pdf

Python 3 程序设计课后习题答案 译作者: 唐永华 刘德山 李玲 出版社:人民邮电出版社
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

用 Python 画一个可以动的爱心

好的,我可以帮助您使用Python来绘制一个动态的爱心。您可以使用turtle库来实现。以下是实现代码: ```python import turtle import math # 设置画布和画笔 canvas = turtle.Screen() canvas.bgcolor("black") pencil = turtle.Turtle() pencil.speed(0) pencil.color("red", "pink") pencil.pensize(3) # 定义爱心函数 def draw_love(heart_size, x_offset=0, y_offset=0):
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。