美文网首页Python爱好者
把数字序号转换成汉字序号

把数字序号转换成汉字序号

作者: 远飞的大雁2010 | 来源:发表于2019-01-31 15:11 被阅读4次

我们在写公文的时候,常常会用到汉字序号,如第二章、第一百零八条等。那么如何用程序来自动编号呢?我们首先得掌握把数字转换成汉字序号的方法。

其实仔细研究一下汉字序号的规率,其实百位和个位的算法都很简单。0的话没有,其他几位都是有几就是几,转换非常简单。转换代码如下:

HZ='零一二三四五六七八九'
s=HZ[bw]+"百" if bw else ""
s=HZ[gw] if gw else ""

最复杂的就是十位的转换,主要有以下几个规则:

  1. 十位不是0时:
    1. 百位为0且十位是1时,返回"十"
    2. 否则返回:HZ[sw]+"十"
  2. 十位是0时:
    1. 百位不是0且个位不是0时:返回”零“
    2. 否则返回空

按上面的规则,完整的转换程序如下 :

HZ='零一二三四五六七八九'
def transhz(no):
    bw,sw,gw=(int(x)for x in '%03d'%no)
    if sw:
        r="十" if not bw and sw==1 else HZ[sw]+"十"
    else:
        r= "零" if bw and gw else ""
    return f'{HZ[bw]+"百" if bw else ""}{r}{HZ[gw] if gw else ""}' 

相关文章

  • 把数字序号转换成汉字序号

    我们在写公文的时候,常常会用到汉字序号,如第二章、第一百零八条等。那么如何用程序来自动编号呢?我们首先得掌握把数字...

  • 语文知识小分享2

    04:数字序号的使用 汉字数字序号>阿拉伯数字序号>英文字母序号 不带括号的序号>带括号的序号,举例:“一”的级别...

  • Decibinary Numbers

    允许0~9的二进制数,给出数字序号,返回数字,如下图: 小数字情况:列表 显然对大的序号不起作用。 暴力求解 解出...

  • 最新精灵序号

    {最新精灵序号=3918=最新精灵序号}{最新预告序号=511=最新预告序号}

  • 记忆术3 | 用挂钩词系统按顺序牢固记住十二星座

    今天我们来介绍按顺序记住一系列东西的方法。 顺序,就涉及序号。最常用的是数字序号和字母序号。我们常见的按姓氏笔画排...

  • 密码故事——最最简单地攻防(1)——Zfund量化套利基金

    字母表顺序和数字 加密的时候,经常要把A~Z这26个字母转换成数字,最常见的一种方法就是取字母表中的数字序号...

  • 卸载Mysql for Mac

    在终端依次输入即可(不包括前面的数字序号)

  • PPT序列教程:PPT中如何输入反白显示的数字

    在幻灯片中实用序号列表可以使用反白显示的数字,这样一来得到的序号比常用的序号看上去会显得更加新颖,可以突出重点,那...

  • MarkDown使用小记

    代码块 *.我是序号1*.我是序号2*.我是序号3 1.我是有序序号12.我是有序序号23.我是有序序号3 我是引...

  • 序号0

    “一切就从这里开始吧。” 心无旁骛,今次已做好面对十死无生的觉悟。 六个月,希望自己能够高效写出一些干货来。

网友评论

    本文标题:把数字序号转换成汉字序号

    本文链接:https://www.haomeiwen.com/subject/mcoksqtx.html