1.案例描述

设计一个汇率换算程序,其功能是将美元换算成人民币,或者相反。

2.0增加功能:根据输入判断是人民币还是美元,进行相应的转换计算

3.0增加功能:程序可以一直运行,知道用户选择退出

4.0将汇率转换功能封装到函数中

5.0将简单函数改为lambda函数

2.案例分析

3.Lambda函数(匿名函数)

用于简单的、能够在一行内表示的函数,计算结果为返回值。

<函数名称> = lambda <参数列表>:<表达式>

4.上机实验

"""
作者:梁斌
功能:汇率兑换
版本:5.0
日期:02/08/2017
2.0 新增功能:根据输入判断是人民币还是美元,进行相应的转换计算
3.0 增加功能:程序可以一直运行,直到用户选择退出
4.0 增加功能:将汇率兑换功能封装到函数中
5.0 增加功能:(1) 使程序结构化 (2) 简单函数的定义 lambda
""" # def convert_currency(im, er):
# """
# 汇率兑换函数
# """
# out = im * er
# return out def main():
"""
主函数,形参为空
"""
# 汇率
USD_VS_RMB = 6.77 # 带单位的货币输入
currency_str_value = input('请输入带单位的货币金额:') unit = currency_str_value[-3:] if unit == 'CNY':
exchange_rate = 1 / USD_VS_RMB elif unit == 'USD':
exchange_rate = USD_VS_RMB else:
exchange_rate = -1 if exchange_rate != -1:
in_money = eval(currency_str_value[:-3])
# 使用lambda定义函数(一个参数x)
convert_currency2 = lambda x: x * exchange_rate # # 调用函数
# out_money = convert_currency(in_money, exchange_rate) # 调用lambda函数
out_money = convert_currency2(in_money)
print('转换后的金额:', out_money)
else:
print('不支持该种货币!') if __name__ == '__main__':
main()

编程技巧 

1.主要的逻辑处理全部都写到main函数中,使用固定的调用方式。

if __name__ == '__main__':
main()

2.定义lambda函数和调用lambda函数

# 使用lambda定义函数(一个参数x)
convert_currency2 = lambda x: x * exchange_rate
# 调用lambda函数
out_money = convert_currency2(in_money)
# 使用lambda定义函数(两个参数x,y)
convert_currency2 = lambda x,y: x * y
# 调用lambda函数
out_money = convert_currency2(in_money,exchange_rate)

【Python 12】汇率兑换5.0(Lambda函数)的更多相关文章

  1. 【Python 11】汇率兑换4.0(函数)

    1.案例描述 设计一个汇率换算程序,其功能是将美元换算成人民币,或者相反. 2.0增加功能:根据输入判断是人民币还是美元,进行相应的转换计算 3.0增加功能:程序可以一直运行,知道用户选择退出 4.0 ...

  2. 【Python 10】汇率兑换3.0(while循环)

    1.案例描述 设计一个汇率换算程序,其功能是将美元换算成人民币,或者相反. 2.0增加功能:根据输入判断是人民币还是美元,进行相应的转换计算 3.0增加功能:程序可以一直运行,知道用户选择退出 2.案 ...

  3. 【python】filter,map,reduce和lambda函数介绍

    filter(function, iterable)map(function, iterable)reduce(function, sequence) filter将 function依次作用于ite ...

  4. python面试题之什么是lambda函数?

    lambda表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数. lambda所表示的匿名函数的内容应该是很简单的,如果复杂的话,干脆就重新定义一个函数了,使用l ...

  5. 【Flask】 python学习第一章 - 4.0 钩子函数和装饰器路由实现 session-cookie 请求上下文

    钩子函数和装饰器路由实现 before_request 每次请求都会触发 before_first_requrest  第一次请求前触发 after_request  请求后触发 并返回参数 tear ...

  6. python学习笔记12(函数三): 参数类型、递归、lambda函数

    一.函数参数的类型 之前我们接触到的那种函数参数定义和传递方式叫做位置参数,即参数是通过位置进行匹配的,从左到右,依次进行匹配,这个对参数的位置和个数都有严格的要求.而在Python中还有一种是通过参 ...

  7. python lambda函数详细解析(面试经常遇到)

    1 作用:通常是用来在python中创建匿名函数的 2 格式: lambda 参数[,参数] : 表达式 3 注意: (1)lambda定义的是单行函数, 如果需要复杂的函数,应该定义普通函数 (2) ...

  8. 【转】python中的lambda函数

    http://www.cnblogs.com/coderzh/archive/2010/04/30/python-cookbook-lambda.html lambda函数也叫匿名函数,即,函数没有具 ...

  9. Python自动化运维之3、函数、lambda、递归

    一.函数 函数的基础概念: 函数是python为了代码最大程度地重用和最小化代码冗余而提供的基本结构 函数是一种设计工具,它能让程序员将复杂的系统分解为可管理的部件 函数用于将相关功能打包并参数化 在 ...

随机推荐

  1. qt之窗口换肤

    1.相关文章 Qt 资源系统qt的moc,uic,rcc命令的使用 2.概要    毕业两年了,一直使用的是qt界面库来开发程序,使用过vs08.10.13等开发工具,并安装了qt的插件,最近在做客户 ...

  2. HttpClientFactory与Steeltoe结合来完成服务发现

    前言 上一篇说了一下用HttpClientFactory实现了简单的熔断降级. 这篇就来简单说说用HttpClientFactory来实现服务发现.由于标题已经好明显的说了Steeltoe 因此这里会 ...

  3. C#版 - PAT乙级(Basic Level)真题 之 1024.科学计数法转化为普通数字 - 题解

    版权声明: 本文为博主Bravo Yeung(知乎UserName同名)的原创文章,欲转载请先私信获博主允许,转载时请附上网址 http://blog.csdn.net/lzuacm. PAT Bas ...

  4. 从零开始学习PYTHON3讲义(八)列表类型跟冒泡排序

    <从零开始PYTHON3>第八讲 ​前面我们见过了不少的小程序,也见过了不少不同类型的变量使用的方法.但目前我们涉及到的,还都是单个的变量和单个的立即数.以变量来说,目前我们见到的,基本都 ...

  5. Numpy 基础学习

    numpy.array() 功能:创建一个数据 vector = numpy.array([1,2,3,4]) matrix = numpy.array([1,2,3,4],[11,12,13,14] ...

  6. jmeter 分布式压测(Linux)

    之前一篇博文写的是如何在Linux上使用jmeter压测,这篇介绍下Linux上jmeter的分布式压测. 和windows上的分布式类似,需要配置agent节点和控制机 一.Agent节点配置 1. ...

  7. 【.NET Core项目实战-统一认证平台】第七章 网关篇-自定义客户端限流

    [.NET Core项目实战-统一认证平台]开篇及目录索引 上篇文章我介绍了如何在网关上增加自定义客户端授权功能,从设计到编码实现,一步一步详细讲解,相信大家也掌握了自定义中间件的开发技巧了,本篇我们 ...

  8. 第63章 ASP.NET Identity 支持 - Identity Server 4 中文文档(v1.0.0)

    提供了基于ASP.NET身份的实现,用于管理IdentityServer用户的身份数据库.此实现是IdentityServer中的扩展点,以便为用户加载身份数据以将声明发送到令牌. 这个支持的仓储位于 ...

  9. 第35章 秘密(secrets) - Identity Server 4 中文文档(v1.0.0)

    在某些情况下,客户端需要使用身份服务器进行身份验证,例如 在令牌端点请求令牌的机密应用程序(也称为客户端) API在内省端点验证引用令牌 为此,您可以将秘密列表分配给客户端或API资源. 秘密解析和验 ...

  10. c# ?? 和?

    static void Main(string[] args)      {                  double? num1 = null; // ? 说明num1可以为空        ...