当前位置: 首页 > news >正文

银行账户管理系统-交互系统

        这篇博文是对上一篇(银行账户管理系统)的提升,上一篇是基础的学习,这一篇是在上一篇的基础上做的交互系统。Tkinter基础函数知识点点击下面超链接就可以跳转到对应的界面。希望可以帮助到你。

写文章-CSDN创作中心https://mpbeta.csdn.net/mp_blog/creation/editor/147936178写文章-CSDN创作中心https://mpbeta.csdn.net/mp_blog/creation/editor?not_checkout=1

一、功能要求:

  1. 创建账户(输入姓名和初始余额)
  2. 存款(增加余额)
  3. 取款(减少余额,检查余额是否足够)
  4. 查看交易记录(显示所有存款/取款记录)
  5. 返回主菜单(界面导航)

二、代码结构概述

代码主要包含两个类:

  1. BankAccount类:处理银行账户的核心逻辑(存款、取款、余额管理等)
  2. BankAccountApp类:创建图形用户界面(GUI),并与用户交互

1. BankAccount类详解

class BankAccount:def __init__(self, account_holder, initial_balance=0):self.account_holder = account_holder  # 账户持有人姓名self.balance = initial_balance        # 账户余额,默认0self.transactions = []                # 交易记录列表

主要方法:

存款方法:
def deposit(self, amount):if amount <= 0:return "存款金额必须大于0"  # 验证存款金额self.balance += amount  # 增加余额# 记录交易:"存款:+金额"self.transactions.append(f"存款:+{amount:.2f}")# 返回成功信息return f"成功存款:+{amount:.2f}, 当前余额:{self.balance:.2f}"
取款方法:
def withdraw(self, amount):if amount <= 0:return "取款金额必须大于0"  # 验证取款金额elif amount > self.balance:return "余额不足,无法完成取款"  # 检查余额是否足够self.balance -= amount  # 减少余额# 记录交易:"取款:-金额"self.transactions.append(f"取款:-{amount:.2f}")# 返回成功信息return f"成功取款:{amount:.2f}, 当前余额:{self.balance:.2f}"
其他方法:
  • get_balance():获取当前余额
  • get_transaction_history():获取所有交易记录
  • __str__():返回账户信息的字符串表示

2. BankAccountApp类详解(GUI部分)

初始化方法:

def __init__(self, root):
http://www.lqws.cn/news/460891.html

相关文章:

  • 考研英语作文评分标准专业批改
  • C++ 学习笔记精要(二)
  • RPC常见问题回答
  • Cargo 与 Rust 项目
  • 让Agent的应用价值增长
  • 实验问题记录:PyTorch Tensor 也会出现 a = b 赋值后,修改 a 会影响 b 的情况
  • 博士,超28岁,出局!
  • 深入解析BERT:语言分类任务的革命性引擎
  • 3D Gaussian Splatting算法安装与实测
  • GO Gin Web框架面试题及参考答案
  • Android sdk 36沉浸式兼容性问题修复
  • 每天一个前端小知识 Day 7 - 现代前端工程化与构建工具体系
  • LeetCode 2942.查找包含给定字符的单词
  • P12894 [蓝桥杯 2025 国 Java B] 智能交通信号灯
  • 伸缩线充电宝推荐丨倍思灵动充45W突破移动界限!
  • 计算机——硬盘驱动器
  • 结构体解决冒泡排序
  • 多线程八股
  • 【Go语言基础】对齐边界与内存填充
  • 初学python的我开始Leetcode题10-2
  • Vuex(一) —— 集中式的状态管理仓库
  • AI 产品的“嵌点”(Embedded Touchpoints)
  • 如何落地你的AI创意
  • 一体三面:UEBA在数据分析、数据治理与数据安全中的应用洞察
  • 【Flink实战】 Flink SQL 中处理字符串 `‘NULL‘` 并转换为 `BIGINT`
  • 零基础入门PCB设计 一实践项目篇 第四章(STM32开发板PCB设计)
  • 破解数据可视化难题:带轴断裂的柱状图绘制全指南
  • Maven并行构建
  • IPv6 | 地址解析 / 地址管理 / 邻居发现协议(NDP)/ 无状态自动配置(SLAAC)
  • 智能群跃小助手发布说明