Python3 notes

简介: Python3 notes

Python 简单的银行系统


以下实例为学习 Python 银行系统的操作:

实例

means = [0, 0, 0]  

loan = 0

rate = 0

pay = 0

investment = 0

annual_rate = 0

# 计算定投预期收益

# 定投收益的计算公式为:M=a(1+x)[-1+(1+x)^n]/x;

# 其中M代表预期收益,a代表每期定投金额,x代表收益率,而n代表定投期数。

# 假设用户每月定投金额为300元,一年也就是3600元,年收益率为15%,

# 定投期限为35年,则可以计算出收益为3600(1+15%)[-1+(1+15%)^35]/15%=3648044元。

def fixed_investment(inv, a_rate, y):

   global means

   inv = 12 * inv

   a_rate = a_rate / 100

   if a_rate == 0:

       expected = 0

   else:

       expected = inv * (1 + a_rate) * (pow((1 + a_rate), y) - 1) / a_rate

   print("定投的预期收入为: %.2f" % expected)

   means[1] = expected

   return expected

def balance():

   total = 0

   for i in means:

       total += i

   print("你的资产总额为:%.2f" % total)

   print("你的资产明细为:\n")

   print("存款:%.2f" % means[0])

   print("理财:%.2f" % means[1])

   print("负债:%.2f" % means[2])

def saving(amount):

   global means

   if amount < 0:

       print("存款金额不可小于 0!")

   else:

       means[0] += amount

       print("已存款:%.2f 元" % amount)

       print("当前余额:%.2f 元" % means[0])

def draw_money(drawing):

   global means

   if drawing < 0:

       print("取款金额不可小于 0!")

   elif drawing > means[0]:

       print("取款金额不可超过余额!")

   else:

       means[0] -= drawing

       print("已取款: %.2f 元" % drawing)

       print("当前余额: %.2f 元" % means[0])

def loans(loan, rate, pay, years):

   global means

   if pay < (loan - pay) * rate:

       print("你是还不完的!!!")

   else:

       if years == 0:

           count = 0

           while loan > 0:

               loan -= pay

               loan *= (1 + rate)

               count += 1

           print("将在 %d 年后还完贷款。" % count)

       else:

           for _ in range(years):

               loan -= pay

               if loan == 0:

                   break

               else:

                   loan *= (1 + rate)

                   print("你现在的负债是: %.2f" % loan)

           # means[2] = loan

           return loan

# 未来财务状况

def future(years):

   income = fixed_investment(investment, annual_rate, years)

   debt = loans(loan, rate, pay, years)

   captial = means[0] + income - debt

   print("你第%i年的总资产有: %.3f" % (years, captial))

def init():

   print()

   print('''以下为可办理的业务:

       1. 查询资产

       2. 存款

       3. 取款

       4. 计算复利

       5. 计算贷款

       6. 计算未来资产

       q. 退出''')

def main():

   init()

   while True:

       choice = input("请输入您要办理的业务代码: ")

       #  查询余额

       if choice == "1":

           balance()

       # 存款

       elif choice == "2":

           inc = float(input("请输入存款金额: "))

           saving(inc)

       # 取款

       elif choice == "3":

           dec = float(input("请输入取款金额: "))

           draw_money(dec)

       # 计算定投

       elif choice == "4":

           investment = float(input("请输入每月定投金额: "))

           annual_rate = float(input("请输入年收益率: "))

           years = int(input("请输入定投期限(年): "))

           if investment <= 0 or annual_rate <= 0 or years <= 0:

               print("输入的数据有误")

           else:

               money = fixed_investment(investment, annual_rate, years)

           print("最终收获: %.2f 元" % money)

       # 计算贷款

       elif choice == "5":

           loan = float(input("请输入当前贷款: "))

           rate = float(input("请输入年利率: "))

           pay = float(input("请输入每年还款: "))

           if loan <= 0 or rate <= 0 or pay <= 0:

               print("输入的数据有误")

           else:

               loans(loan, rate, pay, 0)

       elif choice == "6":

           years = int(input("希望查询多少年后的财务状况? "))

           future(years)

       # 退出

       elif choice == "q":

           print("欢迎下次光临!再见!")

           break

       else:

           print("你输入的指令有误,请重新输入\n")

if __name__ == '__main__':

   main()

相关文章
|
2天前
|
云安全 人工智能 安全
AI被攻击怎么办?
阿里云提供 AI 全栈安全能力,其中对网络攻击的主动识别、智能阻断与快速响应构成其核心防线,依托原生安全防护为客户筑牢免疫屏障。
|
12天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
6天前
|
安全 Java Android开发
深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践
崩溃堆栈全是 a.b.c?Native 错误查不到行号?本文详解 Android 崩溃采集全链路原理,教你如何把“天书”变“说明书”。RUM SDK 已支持一键接入。
473 199
|
4天前
|
人工智能 移动开发 自然语言处理
2025最新HTML静态网页制作工具推荐:10款免费在线生成器小白也能5分钟上手
晓猛团队精选2025年10款真正免费、无需编程的在线HTML建站工具,涵盖AI生成、拖拽编辑、设计稿转代码等多种类型,均支持浏览器直接使用、快速出图与文件导出,特别适合零基础用户快速搭建个人网站、落地页或企业官网。
583 157
|
4天前
|
数据采集 消息中间件 人工智能
跨系统数据搬运的全方位解析,包括定义、痛点、技术、方法及智能体解决方案
跨系统数据搬运打通企业数据孤岛,实现CRM、ERP等系统高效互通。伴随数字化转型,全球市场规模超150亿美元,中国年增速达30%。本文详解其定义、痛点、技术原理、主流方法及智能体新范式,结合实在Agent等案例,揭示从数据割裂到智能流通的实践路径,助力企业降本增效,释放数据价值。
|
10天前
|
人工智能 自然语言处理 安全
国内主流Agent工具功能全维度对比:从技术内核到场景落地,一篇读懂所有选择
2024年全球AI Agent市场规模达52.9亿美元,预计2030年将增长至471亿美元,亚太地区增速领先。国内Agent工具呈现“百花齐放”格局,涵盖政务、金融、电商等多场景。本文深入解析实在智能实在Agent等主流产品,在技术架构、任务规划、多模态交互、工具集成等方面进行全维度对比,结合市场反馈与行业趋势,为企业及个人用户提供科学选型指南,助力高效落地AI智能体应用。
|
存储 人工智能 监控
从代码生成到自主决策:打造一个Coding驱动的“自我编程”Agent
本文介绍了一种基于LLM的“自我编程”Agent系统,通过代码驱动实现复杂逻辑。该Agent以Python为执行引擎,结合Py4j实现Java与Python交互,支持多工具调用、记忆分层与上下文工程,具备感知、认知、表达、自我评估等能力模块,目标是打造可进化的“1.5线”智能助手。
573 46