【Python 12】汇率兑换5.0(Lambda函数)

 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)
原文地址:https://www.cnblogs.com/badboy200800/p/10560497.html