python算法,实习笔试(1)——PAKJ: 题目:数字转中文归一化

题目如下:

[题目]
数字转中文归一化

[题目详述]
将浮点数字串转换成中文金额读音序列: 如输入: 300020040 输出: 三亿零二万零四十元
-不使用任何外部依赖库,使用python3实现函数num2money,放置于python文件num_normalization.py中。即,最终的产出是一个python文件num_normalization.py,其中包含num2money函数。
-尽量满足所有corner case的输出。

[corner case 及 提示]
-小数点后通过四舍五入的方式保留两位有效数字(也就是保留角和分),如输入:2002.3211, 输出:二千零二元三角二分 和 输入:2002.999, 输出:二千零三元
-注意全零的输入, 如输入:00000, 输出:零元
-默认所有的输入数 >= 0,且 <= 999999999.994
-主要使用的中文单位为:"分", "角",“元”, ”十","百","千",“万","亿"

[函数格式]
num2money(num):
"""
  Convert digits number sequence into mandarin number sequence in human-friendly   reading format.
  For example:
  case1: 输入num=234567 输出=二十三万四千五百六十七元
  case2: 输入num=000 输出=零元
  case3: 输入num=2002.999 输出=二千零三元
  case4: 输入num=2002.32 输出=二千零二元三角二分
  case5: 输入num=2002.03 输出=二千零二元零三分
  case6: 输入num=2002.2000 输出=二千零二元二角

  :param num: float, digit number sequence.
  :param return: str, sequence of mandarin number (reading format) sequence.
"""
# TODO

return res

posted @ 2020-11-19 09:05  张幼安  阅读(187)  评论(0编辑  收藏  举报