Python语言:函数的使用

按我的理解,编程世界中的函数就是一个模块:提前写好一个特动功能,方便以后直接调用且实现其功能,可以大大提高工作效率。

今天我们通过一个python语言的函数使用小案例来进一步加深对函数的理解。案例名字为S的银行之行。S是一个吝啬鬼,每天都要去银行查询他的银行卡余额。虽然现在手机银行都可以查到余额啦,可是他还是不信任这个非得银行去查看,风雨无阻,乐此不疲。老爷子每天先喝壶高的,然后信步走入帝豪银行查他的银行卡余额。你要问那个是帝豪银行啊,就是那个帝豪集团旗下的帝豪银行啊。今天也不例外,诸君请看S今天会在帝豪银行发生什么故事。

 S走进大厅,轻车熟路走到ATM机旁边,熟练的在系统中输入自己的名字,系统出现主菜单。

  • 主菜单如下:

主菜单代码如下:

def main():print("----------主菜单-----------")print("你好,%s,欢迎来到帝豪银行,请选择操作" % name)print("查询服务请点[1]")print("存款服务请点[2]")print("取款服务请点[3]")print("退出服务请点[4]")return input("请输入你的选择\n")

 S毫不犹豫的按下了查询银行卡余额的按键1,他看着大屏上的存款金额裂开了嘴,哈哈大笑,又仔仔细细的数了大屏上有几个0;噫,哈哈哈,500万,哈哈哈。他像个傻子似的在大厅里笑着,惹着众人侧目。柜姐以及大堂经理早已习以为常,无奈的摇了摇头。谁让S是银行的金主呢。

  • 查询页面如下:

 查询页面代码如下:

#  定义全局变量 money
money = 5000000# 定义查询函数
def a(add):if add:print("----------查询余额-----------")print("%s你好,你的余额为%d" % (name, money))

S看见自己的银行卡余额高兴坏了,加上昨天结算的30万工程款,自己的余额已经有500万了,S说:”今天必须好好的喝上一杯,还有城南x记熟食店的猪头肉和鸭子。200足够。那就取出200块去买点吧。”他虽然抠抠搜搜的是个吝啬鬼可是在吃这方面却是很乐意掏银子的——在他高兴的时候。不吃非得活活饿死不可。

  • 取款页面如下:

取款页面代码如下:

# 定义取款函数
def c(num2):global money  #还是使用全部变量 moneyif num2 <= money:money -= num2print("你好%s,你共取出%d元" % (name, num2))a(False)else:print("余额不足")

S取了200块现金,来到店里买了鸡鸭鱼肉熟食若干,凉菜2斤打了一壶小酒准备回家自斟自饮好好喝一杯。不料刚走到半路上接到一个电话。对话如下:”老表啊,还记得我嘛,我是老x啊,前阵子你借我2万块钱支持我开煎饼摊,已经回本啦,现在还你钱啦”。虽然S很抠门可是和自己从小到大光屁股长大的老x还是很乐意的借出去2万块开煎饼摊的。“好好好,你把钱送到我家吧,我去把钱存了。”S和老x见面说了啥我们不提,S拿着2万块现金又来到了帝豪银行的ATM机前,输入自己的姓名进入主菜单页面然后按下存款的按钮2。

  • 存款页面如下:

存款页面代码如下:

# 定义存款函数
def b(num1):global money # money还是全局变量money += num1print("----------存款-----------")print("%s你好,你存款%d元成功" % (name, num1))a(False)

    S把2万块存入银行卡后,点击系统退出按钮后,愉快的回了家。

  • 退出服务页面如下

退出页面代码如下:

while True:show = main()  # 返回主菜单地输入值if show == "1":a(True)  # 查询服务页面的函数调用continueelif show == "2":num3 = int(input("请输入存款金额"))b(num3)   # 存款服务页面的函数调用continueelif show == "3":num4 = int(input("请输入取款金额"))c(num4)   # 取款服务页面的函数调用continueelse:print("退出菜单")  # 退出菜单break

案例全部代码如下:

#  定义全局变量 money
money = 5000000# 要求客户输入姓名
name = input("请输入你的姓名\n")# 定义查询函数
def a(add):if add:print("----------查询余额-----------")print("%s你好,你的余额为%d" % (name, money))# 定义存款函数
def b(num1):global moneymoney += num1print("----------存款-----------")print("%s你好,你存款%d元成功" % (name, num1))a(False)# 定义取款函数
def c(num2):global moneyif num2 <= money:money -= num2print("你好%s,你共取出%d元" % (name, num2))a(False)else:print("余额不足")def main():print("----------主菜单-----------")print("你好,%s,欢迎来到帝豪银行,请选择操作" % name)print("查询服务请点[1]")print("存款服务请点[2]")print("取款服务请点[3]")print("退出服务请点[4]")return input("请输入你的选择\n")while True:show = main()  # 返回主菜单地输人值if show == "1":a(True)  # 查询服务页面的函数调用continueelif show == "2":num3 = int(input("请输入存款金额"))b(num3)   # 存款服务页面的函数调用continueelif show == "3":num4 = int(input("请输入取款金额"))c(num4)   # 取款服务页面的函数调用continueelse:print("退出菜单")  # 退出菜单break

案例代码完整运行结果如下

代码运行逻辑:

输入名字进入主菜单,然后按提示输入数字进入相应的页面进行操作,操作完毕后会返回到主菜单页面,按4会退出系统。

关于a函数调用的时候,实参分别为true和false的原因:

在a函数中,使用if语句判断需要是否打印输出存款页面的表头而使用的形参罢了。

关于直接输入名字便可进行操作的原因:

考虑不周,没有想到需要加入输入银行卡的卡号和密码等系列操作。

后记:

这篇博客从傍晚写到天黑,大概2个小时,累坏我啦。这算是目前来说我写过最长的学习笔记以及耗时最久的一篇博客了。现在是2023年9月30日20:14:01,农历8月16,,周六。有点想你,安好。

本文结束。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/146237.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

什么是DevOps

文章目录 一、概念二、地位三、目标四、要求五、具体手段 一、概念 是一组过程、方法与系统的统称&#xff0c;有助于打破开发、测试、运维、交付部门之间的壁垒&#xff0c;提高部门间的沟通协助能力。 二、地位 应成为公司的一种理念、文化、哲学。 三、目标 实现更加高…

【前段基础入门之】=>你不知道的 CSS 选择器的进阶使用!

导语&#xff1a; 在上一章节中&#xff0c;我们了解了 CSS 的一些基本语法概念&#xff0c;那么在这一章节中我们就带来 CSS 选择器知识的分享&#xff0c;选择器这一章的知识点有一点多&#xff0c;不过我们只要认真去理解&#xff0c;学习它也是没什么问题的&#xff0c;还有…

STM32之DMA

简介 • DMA &#xff08; Direct Memory Access &#xff09;直接存储器存取 &#xff08;可以直接访问STM32内部存储器&#xff0c;如SRAM、程序存储器Flash和寄存器等&#xff09; •DMA可以提供外设和存储器或者存储器和存储器之间的高速数据传输&#xff0c;无须CPU干预&a…

解决内网拉取企微会话存档代理问题的一种办法

问题&#xff1a;客户的服务都是内网的&#xff0c;不能直接访问外网&#xff1b;访问外网的话需要走kong网关才能出去。 会话存档官网说可以使用socket5、http方式拉取会话存档&#xff1b;我这边尝试了直接使用kong网关的ip和端口配置进去&#xff0c;是访问不了的 我后面就…

Unity之Hololens如何实现3D物体交互

一.前言 什么是Hololens? Hololens是由微软开发的一款混合现实头戴式设备,它将虚拟内容与现实世界相结合,为用户提供了沉浸式的AR体验。Hololens通过内置的传感器和摄像头,能够感知用户的环境,并在用户的视野中显示虚拟对象。这使得用户可以与虚拟内容进行互动,将数字信…

《三国志》游戏的MySQL数据设计与管理

在任何成功的游戏背后,都有一个精心设计和管理的数据系统。这不仅决定了游戏的运行效率,还直接影响到玩家的游戏体验。 本文将深入探讨著名游戏《三国志》中的数据设计和管理。本文将讲解游戏中核心的数据元素、数据管理方法,以及开发团队在数据方面所做的工作。 文章目录 …

【CFD小工坊】浅水方程的离散及求解方法

【CFD小工坊】浅水方程的离散及求解方法 前言基于有限体积法的方程离散界面通量与源项计算干-湿网格的处理数值离散的稳定性条件参考文献 前言 我们模型的控制方程&#xff0c;即浅水方程组的表达式如下&#xff1a; ∂ U ∂ t ∂ E ( U ) ∂ x ∂ G ( U ) ∂ y S ( U ) U…

matlab 计算数组中所有值的均值

目录 一、概述1、算法概述2、主要函数3、输入参数4、输出参数二、代码实现三、结果展示四、参考链接本文由CSDN点云侠翻译,放入付费专栏只为防不要脸的爬虫。专栏值钱的不是本文,切勿因本文而订阅。 一、概述 1、算法概述 矩阵元素的平均值或均值。 2、主要函数<

【kubernetes】kubernetes中的Deployment使用

1 Why need Deployment? K8S中Pod是用户管理工作负载的基本单位&#xff0c;Pod通常通过Service进行暴露&#xff0c;因此&#xff0c;通常需要管理一组Pod&#xff0c;RC和RS主要就实现了一组Pod的管理工作&#xff0c;其中&#xff0c;RC和RS的区别在于&#xff0c;RS提供更…

Golang的性能优化

欢迎&#xff0c;学习者们&#xff0c;来到Golang性能优化的令人兴奋的世界&#xff01;作为开发者&#xff0c;我们都努力创建高效、闪电般快速的应用程序&#xff0c;以提供出色的用户体验。在本文中&#xff0c;我们将探讨优化Golang应用程序性能的基本技巧。所以&#xff0…

uniapp h5 端 router.base设置history后仍有#号

manifest.json文件设置&#xff1a; "h5": { "router": { "base": "./", "mode": "history" }, }按相对路径发行时路由模式强制为hash模式&#xff0c;不支持history模式&#xff08;两者相悖&#xff09;…

提取PDF数据:Documents for PDF ( GcPdf )

在当今数据驱动的世界中&#xff0c;从 PDF 文档中无缝提取结构化表格数据已成为开发人员的一项关键任务。借助GrapeCity Documents for PDF ( GcPdf )&#xff0c;您可以使用 C# 以编程方式轻松解锁这些 PDF 中隐藏的信息宝藏。 考虑一下 PDF&#xff08;最常用的文档格式之一…

Spark性能监测+集群配置

spark-dashboard 参考链接 架构图 Spark官网中提供了一系列的接口可以查看任务运行时的各种指标 运行 卸载docker https://blog.csdn.net/wangerrong/article/details/126750198 sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest…

An attempt was made to call the method xxx but it does not exist

场景 在公司项目中做配置迁移的时候&#xff0c;服务启动时报错 报错信息 Description:An attempt was made to call the method redis.clients.jedis.Jedis.<init>(Ljava/lang/String;IIIZLjavax/net/ssl/SSLSocketFactory;Ljavax/net/ssl/SSLParameters;Ljavax/net/…

十五、异常(4)

本章概要 Java 标志异常 特例&#xff1a;RuntimeException 使用 finally 进行清理 finally 用来做什么&#xff1f;在 return 中使用 finally缺憾&#xff1a;异常丢失 Java 标准异常 Throwable 这个 Java 类被用来表示任何可以作为异常被抛出的类。Throwable 对象可分为两…

springboot和vue:七、mybatis/mybatisplus多表查询+分页查询

mybatisplus实际上只对单表查询做了增强&#xff08;速度会更快&#xff09;&#xff0c;从传统的手写sql语句&#xff0c;自己做映射&#xff0c;变为封装好的QueryWrapper。 本篇文章的内容是有两张表&#xff0c;分别是用户表和订单表&#xff0c;在不直接在数据库做表连接的…

【Unity Build-In管线的SurfaceShader剖析_PBS光照函数】

Unity Build-In管线的SurfaceShader剖析 在Unity Build-In 管线&#xff08;Universal Render Pipeline&#xff09;新建一个Standard Surface Shader文件里的代码如下&#xff1a;选中"MyPBR.Shader"&#xff0c;在Inspector面板&#xff0c;打开"Show generat…

web:[极客大挑战 2019]PHP

题目 点进页面显示如下 根据页面提示&#xff0c;这个网站有备份文件&#xff0c;备份文件一般是bak文件格式&#xff0c;用dirsearch扫描 访问之后下载了一个文件 里面都是一些代码 在index.php中发现了一个类的文件&#xff0c;一个get传参&#xff0c;然后将传进的值进行反序…

Java性能调优必备知识学习路线

性能调优是Java开发中一个非常重要的环节&#xff0c;它可以帮助我们提高系统的性能、稳定性、可靠性和用户体验&#xff0c;从而提高用户体验和企业竞争力。 目录 一、为什么要学习Java性能调优&#xff1f; 二、如何做好性能调优&#xff1f; 2.1 扎实的计算机基础 2.2 …

Redis与分布式-集群搭建

接上文 Redis与分布式-哨兵模式 1. 集群搭建 搭建简单的redis集群&#xff0c;创建6个配置&#xff0c;开启集群模式&#xff0c;将之前配置过的redis删除&#xff0c;重新复制6份 针对主节点redis 1&#xff0c;redis 2&#xff0c;redis 3都是以上修改内容&#xff0c;只是…