1. 为BankAccount 建立一个类定义。它应该有一些属性,包括账户名(一个字
符串)、账号(一个字符串或整数)和余额(一个浮点数),另外还要有一些
方法显示余额、存钱和取钱。

class BankAccount:
def __init__(self,account,account_id,account_balance):
self.account = account
self.account_id = account_id
self.account_balance =account_balance def getBalance(self):#显示余额
balance = self.account_balance
return balance
print("余额为",balance) def saveMoney(self,money):#显示存钱
self.account_balance = self.account_balance + money
print("存入",money)
print("现在账户余额",self.account_balance) def withDraw(self,getmoney):
surplus = self.account_balance - getmoney
if getmoney>self.account_balance:
print("余额不足")
else:
print("你已取出:",getmoney,"元")
print("您的",self.account_id,"账户剩余:",surplus)
       self.account_balance =surplus #如果未对self.account_balance赋上修改取出后的值,则可能导致上次扣除后余额不更新

    #可以取消赋值
    #else:
    #  self.account_balance = self.account_balance -getmoey
    # print("你已取出",getmoney,"元")
    # print("您的",self.account_id,"账户剩余",self.account_balance) """看过一些文章说的是把初始的账户余额定为0的,而我这个设置为参数,输入余额""" a = BankAccount("叶","yescarf",18) a.saveMoney(100)
a.withDraw(150) a.withDraw(12)

2. 建立一个可以挣利息的类,名为InterestAccount。这应当是BankAccount
的一个子类(所以会继承BankAccount 的属性和方法)。InterestAccount
还应当有一个对应利息率的属性,另外有一个方法来增加利息。为了力求简
单,假设每年会调用一次addInterest() 方法计算利息并更新余额。

class BankAccount:
def __init__(self,account,account_id,account_balance):
self.account = account
self.account_id = account_id
self.account_balance =account_balance def getBalance(self):#显示余额
balance = self.account_balance
return balance
print("余额为",balance) def saveMoney(self,money):#显示存钱
self.account_balance = self.account_balance + money
print("存入",money)
print("现在账户余额",self.account_balance) def withDraw(self,getmoney):
surplus = self.account_balance - getmoney
if getmoney>self.account_balance:
print("余额不足")
else:
print("你已取出:",getmoney,"元")
print("您的",self.account_id,"账户剩余:",surplus)
self.account_balance =surplus #如果未对self.account_balance赋上修改取出后的值,则可能导致依旧按元先账户余额计算结果,导致错误 """a = BankAccount("叶","yescarf",18) a.saveMoney(100)
a.withDraw(150) a.withDraw(12)""" class InterestAccount(BankAccount):
def __init__(self,rate):
BankAccount.__init__(self,"weimiaomiao", 123456,0)#init继承
self.rate = rate def addInterest(self):
interest =self.account_balance *self.rate
surplus = interest+self.account_balance
print("利息为",interest)
print("结余余额为",surplus)
b= InterestAccount(0.2)
b.saveMoney(100)
b.saveMoney()
b.withDraw(20.5)
b.withDraw(50)
b.addInterest()

python#父与子的编程之旅#第十四章的更多相关文章

  1. Python 编程快速上手 第十四章 处理 CSV 文件和 JSON 数据

    前言 这一章分为两个部分,处理 CSV 格式的数据和处理 JSON 格式个数据. 处理 CSV 理解 csv csv 的每一行代表了电子表格中的每一行,每个逗号分开两个单元格csv 的内容全部为文本, ...

  2. 《Linux命令行与shell脚本编程大全》 第十四章 学习笔记

    第十四章:呈现数据 理解输入与输出 标准文件描述符 文件描述符 缩写 描述 0 STDIN 标准输入 1 STDOUT 标准输出 2 STDERR 标准错误 1.STDIN 代表标准输入.对于终端界面 ...

  3. 《Java并发编程实战》第十四章 构建自己定义的同步工具 读书笔记

    一.状态依赖性的管理 有界缓存实现的基类 @ ThreadSafe public abstract class BaseBoundedBuffer<E> { @GuardeBy( &quo ...

  4. 《Java并发编程实战》第十四章 构建自己的同步工具定义 札记

    一.状态依赖性的管理 有界缓存实现的基类 @ ThreadSafe public abstract class BaseBoundedBuffer<E> { @GuardeBy( &quo ...

  5. 《Linux命令行与shell脚本编程大全》第十四章 处理用户输入

    有时还会需要脚本能够与使用者交互.bash shell提供了一些不同的方法来从用户处获得数据, 包括命令行参数,命令行选项,以及直接从键盘读取输入的能力. 14.1 命令行参数 就是添加在命令后的数据 ...

  6. java并发编程实战:第十四章----构建自定义的同步工具

    一.状态依赖性管理 对于单线程程序,某个条件为假,那么这个条件将永远无法成真 在并发程序中,基于状态的条件可能会由于其他线程的操作而改变 可阻塞的状态依赖操作的结构 acquire lock on o ...

  7. 学习参考《父与子的编程之旅python【第二版】》高清中文版PDF+高清英文版PDF+源代码

    对于初步接触编程语言的朋友,推荐看一看<父与子的编程之旅第2版>,对于完全编程零基础的很友好! 图文并茂,过多的文字堆垒很容易让人产生厌倦情绪,也更容易让人产生放弃的想法.使用了大量插图, ...

  8. 进击的Python【第十四章】:Web前端基础之Javascript

    进击的Python[第十四章]:Web前端基础之Javascript 一.javascript是什么 JavaScript 是一种轻量级的编程语言. JavaScript 是可插入 HTML 页面的编 ...

  9. JAVA之旅(十四)——静态同步函数的锁是class对象,多线程的单例设计模式,死锁,线程中的通讯以及通讯所带来的安全隐患,等待唤醒机制

    JAVA之旅(十四)--静态同步函数的锁是class对象,多线程的单例设计模式,死锁,线程中的通讯以及通讯所带来的安全隐患,等待唤醒机制 JAVA之旅,一路有你,加油! 一.静态同步函数的锁是clas ...

随机推荐

  1. Linux基础-文件管理

    <1>查看文件信息:ls ls是英文单词list的简写,其功能为列出目录的内容,是用户最常用的命令之一,它类似于DOS下的dir命令. Linux文件或者目录名称最长可以有265个字符,“ ...

  2. Django框架(二十八)—— Django缓存机制

    目录 Django缓存机制 一.什么是缓存 二.Django的6中缓存方式及配置(只需要改配置文件) 1.开发调试缓存(此模式为开发调试使用,实际上不执行任何操作) 2.内存缓存(将缓存内容保存至内存 ...

  3. centos 7 安装mysql5.7

    1.进入到要存放安装包的位置 cd /home/lnmp 2.查看系统中是否已安装 MySQL 服务,以下提供两种方式: rpm -qa | grep mysql yum list installed ...

  4. 简单了解Redis

    redis是什么 redis是一种支持key-value等多种数据结构的存储系统,可用于缓存,事件发布,消息队列等场景,支持多种数据类型 string.hash.list.set.zset.而且基于内 ...

  5. arcpy-栅格转其他格式

    import arcpy in_format=arcpy.GetParameterAsText(0) out_format=arcpy.GetParameterAsText(1) out_folder ...

  6. 【目录】asp.net core系列篇

    随笔分类 - asp.net core系列篇 asp.net core系列 68 Filter管道过滤器 摘要: 一.概述 本篇详细了解一下asp.net core filters,filter叫&q ...

  7. Python之实现一个优先级队列

    问题 怎样实现一个按优先级排序的队列? 并且在这个队列上面每次 pop 操作总是返回优先级最高的那个元素 解决方案 下面的类利用 heapq 模块实现了一个简单的优先级队列: import heapq ...

  8. 隐式激活Activity

  9. 【CSS】三栏布局的经典实现

    要求:自适应宽度,左右两栏固定宽度,中间栏优先加载: <!DOCTYPE html> <html> <head> <title>layout</t ...

  10. 【读书笔记】【数据库】SQL必知必会

    第1课 了解SQL 简单介绍了sql,和dbms,无重点. 第2课 检索数据 重点:select语句,distinct,limit,注释 1. select 语句如果没有明确排序查询结果,那么返回的数 ...