Python语言:函数的使用

news2024/11/25 2:56:38

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

今天我们通过一个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  #还是使用全部变量 money
    if num2 <= money:
        money -= num2
        print("你好%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 += num1
    print("----------存款-----------")
    print("%s你好,你存款%d元成功" % (name, num1))
    a(False)

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

  • 退出服务页面如下

退出页面代码如下:

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

案例全部代码如下:

#  定义全局变量 money
money = 5000000

# 要求客户输入姓名
name = input("请输入你的姓名\n")


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


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


# 定义取款函数
def c(num2):
    global money
    if num2 <= money:
        money -= num2
        print("你好%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)  # 查询服务页面的函数调用
        continue
    elif show == "2":
        num3 = int(input("请输入存款金额"))
        b(num3)   # 存款服务页面的函数调用
        continue
    elif show == "3":
        num4 = int(input("请输入取款金额"))
        c(num4)   # 取款服务页面的函数调用
        continue
    else:
        print("退出菜单")  # 退出菜单
        break

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

代码运行逻辑:

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

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

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

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

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

后记:

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

本文结束。

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

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

相关文章

1.6.C++项目:仿muduo库实现并发服务器之channel模块的设计

项目完整版在&#xff1a; 文章目录 一、channel模块&#xff1a;事件管理Channel类实现二、提供的功能三、实现思想&#xff08;一&#xff09;功能&#xff08;二&#xff09;意义&#xff08;三&#xff09;功能设计 四、代码&#xff08;一&#xff09;框架&#xff08;二…

Mac卸载不了软件怎么办?2023年最新MacBook卸载大集合

很多朋友在卸载软件的时候&#xff0c;可能会遇到卸载不了的情况。软件正在使用、软件来自第三方等原因都可能导致我们无法将其成功卸载。本篇文章就将告诉您“Mac卸载不了软件”的解决办法。 为什么Mac卸载不了软件&#xff1f; Mac卸载不了软件的原因很多&#xff0c;常见的…

Excel如何快速将表格纵向数据变成横向

第一&#xff0c;打开Excel文件&#xff0c;我们看到表格里面的内容为纵向排列&#xff1b; 第二&#xff0c;要将表格纵向排列变成横向&#xff0c;首先选中单元格内容&#xff0c;按CTRLC快速复制。 第三&#xff0c;选中一个空白单元格&#xff0c;点击鼠标右键&#xff0c;…

SentenceTransformer 之论文解读

摘要 原文标题&#xff1a;Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks 链接&#xff1a;https://arxiv.org/pdf/1908.10084.pdf 尽管Bert和RoBERTa在句子对回归任务上&#xff0c;例如语义文本相似度&#xff08;Semantic Text Similarity&#xff09;…

300元以内最好的开放式耳机是哪款、百元开放式耳机推荐

如果你是一位运动用户&#xff0c;或者耳道比较敏感的用户&#xff0c;耳机一定要选开放式的。开放式耳机的优点是在听歌的能够兼顾环境音&#xff0c;避免户外运动时出现的安全问题。在耳机的佩戴上舒适性上也比入耳式耳机好&#xff0c;不会对耳朵造成压迫导致不适。不足是音…

高效记录,事项井然——OmniOutliner 5 Pro for Mac 信息大纲记录工具

OmniOutliner 5 Pro for Mac 是一款强大的信息大纲记录工具&#xff0c;帮助您高效组织和管理各种信息。无论是个人笔记、工作计划、项目管理还是学习资料&#xff0c;这款应用都能满足您的需求&#xff0c;并使您的日常工作更加井然有序。 OmniOutliner 5 Pro 提供了一套丰富…

为何每个开发者都在谈论Go?

目录 一、引言Go的历史回顾关键时间节点 使用场景Go的语言地位技术社群与企业支持资源投入和生态系统 二、简洁的语法结构基本组成元素变量声明与初始化代码示例 类型推断函数与返回值代码示例输出 接口与结构体&#xff1a;组合而非继承错误处理&#xff1a;明确而不是异常小结…

什么是数据库锁(Lock)?有哪些类型的锁

数据库锁&#xff08;Lock&#xff09;&#xff1a;保护数据完整性与并发性的关键 数据库锁&#xff08;Lock&#xff09;是在数据库管理系统中用于管理并发访问数据的重要机制。它们确保了多个用户或事务可以同时访问数据库&#xff0c;同时保护数据的完整性。在本文中&#…

JJJ:添加开机自启动项

比如我希望一个截图软件能开机自启动&#xff1a; 1、打开任务管理器&#xff1a; 进入启动栏&#xff1a; 发现没有snipaste可以设置 2、win r&#xff0c; 输入 shell:startup 然后回弹出一个新的窗口&#xff0c;把截图软件的快捷方式放里头 这样snipaste就能开机自启动…

Python报错:KeyError: ‘820‘

Python报错&#xff1a;KeyError: ‘820’ 问题描述 原因 操作的表格列名是数字 NIRdata[820] Rdata[630]以上是出错行&#xff0c;dataframe的这种索引方式不支持用数字。 解决方案 先修改列名为字符 然后将出错行改为对应列名 NIRdata[nir] Rdata[r]

QSS之QLineEdit

QLineEdit我们在开发过程中是经常使用的&#xff0c;一般情况下默认的风格是不适合设计师的要求&#xff0c;本篇介绍QLineEdit的基本qss风格&#xff1a; 1.基本属性设置 QLineEdit{background-color:#FFFFFF;color:#333333;border:none;} 2.悬浮状态设置 QLineEdit:hover…

亲和力的作用,以及提高亲和力的六个办法

亲和力指的是容易使人亲近&#xff0c;当人身处集体中&#xff0c;亲和力也即是影响力和凝聚力的体现。通常是在职场中会明确对亲和力的考评&#xff0c;尤其是某些管理型岗位&#xff0c;所以HR人力资源管理中对亲和力有详细的评级标准。不过这里小猫测试网不详细讨论亲和力的…

【Linux】 OpenSSH_7.4p1 升级到 OpenSSH_9.3p2(亲测无问题,建议收藏)

&#x1f468;‍&#x1f393;博主简介 &#x1f3c5;云计算领域优质创作者   &#x1f3c5;华为云开发者社区专家博主   &#x1f3c5;阿里云开发者社区专家博主 &#x1f48a;交流社区&#xff1a;运维交流社区 欢迎大家的加入&#xff01; &#x1f40b; 希望大家多多支…

[Java·算法·困难]LeetCode124.二叉树中的最大路径和

每天一题&#xff0c;防止痴呆 题目示例分析思路1题解1 &#x1f449;️ 力扣原文 题目 二叉树中的 路径 被定义为一条节点序列&#xff0c;序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点&#xff0c;且不一定经…

第七章 查找 七、红黑树

一、为什么要发明红黑树 因为&#xff1a; 平衡二叉树AVL:插入/删除很容易破坏“平衡”特性&#xff0c;需要频繁调整树的形态。如:插入操作导致不平衡&#xff0c;则需要先计算平衡因子&#xff0c;找到最小不平衡子树&#xff08;时间开销大&#xff09;&#xff0c;再进行L…

Ubuntu配置深度学习环境(TensorFlow和pyTorch)

文章目录 一、CUDA安装1.1 安装显卡驱动1.2 CUDA安装1.3 安装cuDNN 二、Anaconda安装三、安装TensorFlow和pyTorch3.1 安装pyTorch3.2 安装TensorFlow2 四、安装pyCharm4.1 pyCharm的安装4.2 关联anaconda的Python解释器 五、VScode配置anaconda的Python虚拟环境 前言&#xff…

使用sqlmap的 ua注入

文章目录 1.使用sqlmap自带UA头的检测2.使用sqlmap随机提供的UA头3.使用自己写的UA头4.调整level检测 测试环境&#xff1a;bWAPP SQL Injection - Stored (User-Agent) 1.使用sqlmap自带UA头的检测 python sqlmap.py -u http://127.0.0.1:9004/sqli_17.php --cookie“BEEFHOO…

C语言 —— 函数

目录 1. 函数是什么 2. C语言中函数的分类 2.1 库函数 2.2 自定义函数 3. 函数的参数 3.1 实际参数(实参) 3.2 形式参数(形参) 4. 函数的调用 4.1 传值调用 4.2 传址调用 5. 函数的嵌套调用和链式访问 5.1 嵌套调用 5.2 链式访问 6. 函数的声明和定义 6.1函数声明…

GEO生信数据挖掘(四)数据清洗(离群值处理、低表达基因、归一化、log2处理)

检索到目标数据集后&#xff0c;开始数据挖掘&#xff0c;本文以阿尔兹海默症数据集GSE1297为例 目录 离群值处理 删除 低表达基因 函数归一化&#xff0c;矫正差异 数据标准化—log2处理 完整代码 上节围绕着探针ID和基因名称做了一些清洗工作&#xff0c;还做了重复值检查…

Elasticsearch基础篇(三):Elasticsearch7.x的集群部署

Elasticsearch的集群部署 1. Elasticsearch集群架构主节点数据节点客户端节点分片节点间通信集群状态 2. Elasticsearch集群部署2.1 系统配置修改2.1.1 修改文件句柄数和线程数2.1.2 修改虚拟内存2.1.3 关闭交换空间&#xff08;Swap&#xff09; 2.2 下载es数据库并上传到服务…