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. Java菜鸟笔记

    System.out.println( ); 会在输出完毕后自动换行 System.out.print( );   在输出完毕后不会自动换行 MyEclipse/Eclipse快捷键: 定位到某一行, ...

  2. Raspberry Pi 4B 安装QT5和qtCreator

    https://blog.csdn.net/coekjin/article/details/52049273 sudo apt-get install qt5-default sudo apt-get ...

  3. Asp.net Controller中View 和Action方法认证Authorize 及对AuthorizeAttribute扩展

    Asp.net Controller中View和Action方法认证Authorize 在建立Web 站点安全性时 1.登录后才可访问系统文件 ——限制 Forms认证 <authenticat ...

  4. shell变量替换扩展 变量测试

  5. Shell 脚本的编码规范

  6. Nginx反向代理与负载均衡应用实践(二)

    Nginx反向代理与负载均衡应用实践(二) 链接:https://pan.baidu.com/s/1xB20bnuanh0Avs4kwRpSXQ 提取码:migq 复制这段内容后打开百度网盘手机App ...

  7. pip配置阿里云源

    Windows:打开计算机,在地址栏输入%appdata%,回车,进入用户文件夹,新建文件夹,命名为pip 在pip下新建pip.ini,输入以下内容 [global] timeout=6000ind ...

  8. eclipse中server location为灰色,不能修改

    当自己用eclipse写好了web项目后,也同时配置了服务器(tomcat6), 上面部署完毕后,直接访问http://localhost:8080 发现是 无法访问的,这是因为,Servers这里的 ...

  9. openwrt ssh免密登录

    1 生成相关秘钥 dropbearkey -t rsa -f id_rsa dropbearkey -y -f id_rsa | grep "^ssh-rsa" >> ...

  10. java随笔记录

    JAVA的变量类型 类变量:独立于方法之外的变量,用 static 修饰. 实例变量:独立于方法之外的变量,不过没有 static 修饰. 局部变量:类的方法中的变量. public class Va ...