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