一、将汇率兑换功能封装在函数中

 

'''
    整段注释
    功能:汇率兑换
    版本:4.0
    日期:18/02/7
    新增功能:根据输入判断是人民币还是美元,进行相应的转换计算
    新增功能:程序可以一直运行,直到用户选择退出
    新增功能:将汇率兑换功能封装在函数中
'''
USD_VS_RMB = 6.77  #常量


def convert_currency(im,er):
    '''
    汇率兑换函数
    '''
    out = im * er
    return out

#输入货币
s = input('请输入货币(CNY or USD)金额(输入Q退出)')

#获取货币单位  取字符串后三位
unit = s[-3:]

if unit == 'USD':#如果是美元
    exchange_rate = USD_VS_RMB
elif unit == 'CNY':#如果输入人民币
    exchange_rate = USD_VS_RMB
else:
    exchange_rate = -1
if exchange_rate != -1:
    in_money = eval(s[0:-3])
#调用参数
    out_money = convert_currency(in_money,exchange_rate)
    print("转换后的金额:",out_money)
else:
    print('目前版本只支持美元(USD)和人民币(CNY)的兑换计算')

二、函数的定义

  1. python的内置函数

Input(),print(),eval()....

  1. 自定义函数

def 函数名(参数列表):

函数体

Return  返回值列表

 

 

三、注意

  1. 反向缩进 shift+tab
  2. 函数定义以后要养成写函数功能的注释,一般采用多行注释三个引号

 

四、使程序结构化

 

 

'''
    整段注释
    功能:汇率兑换
    版本:5.0
    日期:18/02/8
    2.0新增功能:根据输入判断是人民币还是美元,进行相应的转换计算
    3.0新增功能:程序可以一直运行,直到用户选择退出
    4.0新增功能:将汇率兑换功能封装在函数中
    5.0新增功能:使程序结构化,使用lambda函数
'''


#def convert_currency(im,er):
    #'''
   # 汇率兑换函数
   # '''
    #out = im * er
    #return out


def main():
    USD_VS_RMB = 6.77  #常量
    #输入货币
    s = input('请输入货币(CNY or USD)金额(输入Q退出)')

    #获取货币单位  取字符串后三位
    unit = s[-3:]

    if unit == 'USD':#如果是美元
        exchange_rate = USD_VS_RMB
    elif unit == 'CNY':#如果输入人民币
        exchange_rate = USD_VS_RMB
    else:
        exchange_rate = -1
    if exchange_rate != -1:
        in_money = eval(s[0:-3])
        #使用lambda函数
        convert_currency2 = lambda x:x * exchange_rate
        out_money = convert_currency2(in_money)
    #调用函数
        #out_money = convert_currency(in_money,exchange_rate)
        print("转换后的金额:",out_money)
    else:
        print('目前版本只支持美元(USD)和人民币(CNY)的兑换计算')

#__name__ 本身等于'__main__'
if __name__ == '__main__':
    main()

 

五、Lambda函数

  1. 定义

函数名 = lambda 参数列表:表达式

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