Python函数的应用--汇率转换函数示例(第九章)



# python 从入门到精通(第二版)个人编码
# 第九章 函数
# 形式参数 实际参数  string类值传递不改变实际参数值  list类引用传递改变实际参数的值
# 位置参数 传递时数量有数量及先后顺序要求,关键字参数使用形式参数名称赋值,可不顾及传递参数时先后顺序
# 参数默认值  有默认值的参数要放在最后
# 可变参数  *parameter接收后放到元组中  **parameter 接收后放到字典中

# 值传递与引用传递

# 9.6 实践练习题1
#  定义汇率转换函数(人民币 to 外币)
def _toForeignDollars_(renminbi):
    to_us_dollars = 0.1546
    to_eu_yuan = 0.1284
    to_uk_pond = 0.1126
    print("您输入的人民币金额为:", renminbi, "\n")
    print("\t等值美元是:", "{:.2f}".format(float(renminbi * to_us_dollars)),
          "\t等值欧元是:", "{:.3f}".format(float(renminbi * to_eu_yuan)),
          "\t等值英镑是:", "{:.4f}".format(float(renminbi * to_uk_pond)))


#   定义货币金额有效性判断函数
def _is_renminbi_account(shuliang):
    shulie = shuliang.split('.')
    # 处理以0开头的大于1数字问题,例如010.85处理为10.85
    if len(shulie[0]) > 1:
        shulie[0] = shulie[0].lstrip('0')

    #  输入整数部分必须是数字,小数点后最多2位数字
    if shulie[0].isnumeric() and shulie[1].isnumeric() and len(shulie[1]) < 3:
        return True
    else:
        return False


print("请输入正确的人民币金额,小数点最多2位")
shuliang_input = input()
shuliang_input.strip()
flag = 0
if not _is_renminbi_account(shuliang_input):
    flag = 1

while flag == 1:
    print("请输入正确的人民币金额,小数点最多2位")
    shuliang_input = input()
    _is_renminbi_account(shuliang_input)
    if _is_renminbi_account(shuliang_input):
        flag = 0
    else:
        flag = 1

_toForeignDollars_(float(shuliang_input))









  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值