• 【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)
  • 相关阅读:
    ValueStack、ActionContext
    s debug
    1923: [Sdoi2010]外星千足虫
    1013: [JSOI2008]球形空间产生器sphere
    HDU 3923 Invoker
    poj 1286 Necklace of Beads
    HDU 3037:Saving Beans
    2440: [中山市选2011]完全平方数
    1101: [POI2007]Zap
    1968: [Ahoi2005]COMMON 约数研究
  • 原文地址:https://www.cnblogs.com/badboy200800/p/10560497.html
Copyright © 2020-2023  润新知