Python玩玩----汇率转换(def声明函数,默认参数)

今天在某个水群里看到一个题目,认识了默认参数的概念

编写函数实现人民币,美元兑换的功能
(1)函数中默认美元、人民币汇率,使用默认参数;
(2)若汇率变动,则手动输入调整;
(3)用户输入金额、汇率实现转换;
注:输入1CNY表示输入1元人民币,输入1USD表示1美元,题目被我改了,差不多就这个意思吧。。。

1.Python中的函数

        Python中用def声明函数,什么是函数?额,函数就是函数呀。。。


2.默认参数

        一个函数里通常都带有参数,什么是默认参数?好吧我也说不出个所以然,大概的感觉就是默认参数它本来就有自己的值,需要它的时候不用传实参就能调用,而如果传入实参则会覆盖它的默认值,举个简单的例子说明吧。
        在for循环中我们经常用到range()函数,这个函数有三种调用方式,

range(a)
range(a, b)
range(a, b, c)

        为什么传入一个参数可以执行,传入两个或三个参数也能执行呢?



        我猜想这个函数有三个形参,其中必有两个默认参数。当传入一个参数a,则range(a)返回[0,a)区间的列表,说明第一个默认参数是0;当传入a和b两个参数,range(a,b)返回[a,b)区间递增的列表,说明第三个步长参数是默认参数,默认值是1,且a覆盖了第一个默认参数。

3.汇率转换题

        了解了默认参数之后就来做题试验一下吧,让这个函数在只输入“money”这一个参数的时候,它会按照默认的美元汇率1:6.7032计算,如果输入“money”和“rate”两个参数,则会按照输入的汇率计算。

def fun(num, k=6.7032):#默认汇率k为6.7032
    print("当前汇率:美元:人民币=1:", k)
    try:
        if num.count(' '):#以空格判断是否自定义汇率
            num1, rate = num.split()#以空格为标志切片
            print("=============汇率已修改==========")
            fun(num=num1, k=float(rate))
        else:
            if num.count('CNY'):
                result = float(num[:-3]) / k
                print(result)
            elif num.count('USD'):
                result = float(num[:-3]) * k
                print(result)
    except:
        print("请注意输入格式要求!")

if __name__ == "__main__":#主函数,调用函数看看效果
    print("输入exit退出,空格添加自定义汇率")
    while True:
        money = input("输入数字加上CNY或USD分别标志人民币和美元:")
        if money == 'exit':
            break
        else: fun(money)
运行效果

好像看着有点乱,输出小数点也不统一,额这都不重要。。。。。


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 大概凌晨一点多的样子,一轮皎洁的月亮斜挂在半空中,清凉地月光铺洒而下。马路两旁的路灯闪耀着疲惫的光芒,整个世界似乎...
    我是一棵开花的树阅读 4,527评论 5 5
  • 今天是什么日子 起床:5点30分 就寝:22点30分 天气:阴转小雨 心情:还好 叫我起床的不是闹钟是梦想 早...
    读书写作与传统文化阅读 1,652评论 1 0
  • 山药炖鸡 红烧鸡 糖醋虾 烧茄子 红烧鱼 炒三丝
    紫微妈咪阅读 1,310评论 0 1

友情链接更多精彩内容