首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

迷你上下标数字转换器

  • 24-01-06 06:03
  • 3894
  • 12043
blog.csdn.net

将输入字符串中的数字转换成迷你数字字符,您可以复制带迷你数字的纯文本到任意地方。


  (本笔记适合初通Python,熟悉六大基本数据类型(str字符串、int整型、float浮点型、list列表、tuple元组、set集合、dict字典)常规应用的 coder 翻阅)


【学习的细节是欢悦的历程】

  • Python 官网:https://www.python.org/

  • Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单……
    地址:https://lqpybook.readthedocs.io/


  自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。
            —— 华罗庚


  • My CSDN主页、My HOT博、My Python 学习个人备忘录
  • 好文力荐、 老齐教室
等风来,不如追风去……


将输入字符串中的数字转换成迷你数字字符
迷你上下标数字转换器
(您可以复制带迷你数字的纯文本到任意地方)


本文质量分:

【 96 】
本文地址: http://iyenn.com/rec/1968556.html

CSDN质量分查询入口:http://www.csdn.net/qc


目 录

  • ◆ 迷你上下标数字转换器
    • 1、上标数字生成工具
    • 2、算法解析
      • 2.1 上标转换方法
      • 2.2 下标转换方法
    • 3、代码优化
    • 4、完整源码



◆ 迷你上下标数字转换器


1、上标数字生成工具


  • 工具使用截屏图片
    在这里插入图片描述
    在这里插入图片描述

  • 复制出来的生成文本

QQ:⁴⁷⁹⁴⁶⁹⁸³⁸


  • 【上标数字生成器】
    工具地址: https://www.jiuwa.net/sbsz/

  感觉,好神奇的样子?
  这,又勾起了我“探索”的瘾……



回页目录


2、算法解析


  所谓的上标“生成器”,看起来很“高级”,有些神奇。其实质,就是字符串替换。将输入字符串中的数字字符,替换成迷你上标数字字符。只不过,将操作代码作了封装。

  经过一阵鼓捣,我也用仅会的Python基础“技术”,写出了上下标数字“生成”工具。

  • 上下标数字字符串设置

class CharMini:
    
    def __init__(self):
        self.SupNums = '⁰¹²³⁴⁵⁶⁷⁸⁹' # 上标数字字符串。
        self.SubNums = ''.join([chr(i) for i in range(8320, 8330)]) # 根据迷你下标字符编码生成下标数字字符串。


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

  算法解析:遍历输入字符串,用迷你上下标数字字符替换其中数字字符,打印输出替换数字字符后的字符串。但这根本就不是“生成”,就是一个“转换器”。


2.1 上标转换方法



    def toSupNum(self, s: str):
        ' 转换数字迷你上标 '
        result = ''
        
        for i in s:
            
            if i.isdigit():
                result += self.SupNums[int(i)]
            else:
                result += i

        return result

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

2.2 下标转换方法



    def toSubNum(self, s: str):
        ' 转换数字迷你下标 '
        result = ''
        
        for i in s:
            
            if i.isdigit():
                result += self.SubNums[int(i)]
            else:
                result += i

        return result

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

  • 代码运行输出文本效果

原字符串:我的电话是68780057,你的是023587966

数字上标:我的电话是⁶⁸⁷⁸⁰⁰⁵⁷,你的是⁰²³⁵⁸⁷⁹⁶⁶

数字下标:我的电话是₆₈₇₈₀₀₅₇,你的是₀₂₃₅₈₇₉₆₆


原字符串:圆周率:3.1415926535

数字上标:圆周率:³.¹⁴¹⁵⁹²⁶⁵³⁵

数字下标:圆周率:₃.₁₄₁₅₉₂₆₅₃₅


原字符串:我的生命于1973年0501的某一时刻启动了

数字上标:我的生命于¹⁹⁷³年⁰⁵⁰¹的某一时刻启动了

数字下标:我的生命于₁₉₇₃年₀₅₀₁的某一时刻启动了


  • 代码运行效果截屏图片
    在这里插入图片描述



回页目录


3、代码优化


  • 替换功能实现代码

class CharMini:
    
    def __init__(self):
        self.SupNums = '⁰¹²³⁴⁵⁶⁷⁸⁹' # 上标数字字符串。
        self.SubNums = ''.join([chr(i) for i in range(8320, 8330)]) # 根据迷你下标字符编码生成下标数字字符串。


    def toSupNum(self, s: str):
        ' 转换数字迷你上标 '
        result = ''
        
        for i in s:
            
            if i.isdigit():
                result += self.SupNums[int(i)]
            else:
                result += i

        return result


    def toSubNum(self, s: str):
        ' 转换数字迷你下标 '
        result = ''
        
        for i in s:
            
            if i.isdigit():
                result += self.SubNums[int(i)]
            else:
                result += i

        return result

if __name__ == '__main__':
    char = CharMini()
    print(f"\n上标:{char.SupNums};下标:{char.SubNums}")
    s = input(f"\n输入带数字字符串:") 
    s = '圆周率:3.1415926535' if not s else s
    print(f"\n原字符串:{s}\n\n数字上标:{char.toSupNum(s)}\n\n数字下标:{char.toSubNum(s)}")

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42


  仔细观察,上、下标迷你数字字符的替换的算法完全一致,不同的仅是目录替换迷你数字字符而已,完全可以进一步对代码进行复用。
  将替换算法逻辑代码封装成replace方法,传入输入字符串s和目标迷你数字上下标数字字符串rules,返回替换成目标迷你数字上下字符的字符串。分别在toSupNum、toSubNum中以相应的rules调用replace方法就行。


  • 优化代码

class CharMini:
    
    def __init__(self):
        self.SupNums = '⁰¹²³⁴⁵⁶⁷⁸⁹' # 上标数字字符串。
        self.SubNums = ''.join([chr(i) for i in range(8320, 8330)]) # 根据迷你下标字符编码生成下标数字字符串。


    def toSupNum(self, s: str):
        ' 转换数字迷你上标 '
        return self.replace(s, self.SupNums)


    def toSubNum(self, s: str):
        ' 转换数字迷你下标 '
        return self.replace(s, self.SubNums)


    def replace(self, s: str, rules: str):
        ' 迷你数字替换 '
        result = ''
        
        for i in s:
            
            if i.isdigit():
                result += rules[int(i)]
            else:
                result += i

        return result


if __name__ == '__main__':
    char = CharMini()
    print(f"\n上标:{char.SupNums};下标:{char.SubNums}")
    s = input(f"\n输入带数字字符串:") 
    s = '圆周率:3.1415926535' if not s else s
    print(f"\n原字符串:{s}\n\n数字上标:{char.toSupNum(s)}\n\n数字下标:{char.toSubNum(s)}")

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39

  • 代码运行效果截屏图片
    在这里插入图片描述

  • 代码运行输出文本

原字符串:你是我的520,我是你的1314。

数字上标:你是我的⁵²⁰,我是你的¹³¹⁴。

数字下标:你是我的₅₂₀,我是你的₁₃₁₄



回页目录


4、完整源码

(源码较长,点此跳过源码)

#!/sur/bin/nve python
# coding: utf-8


class CharMini:
    
    def __init__(self):
        self.SupNums = '⁰¹²³⁴⁵⁶⁷⁸⁹' # 上标数字字符串。
        self.SubNums = ''.join([chr(i) for i in range(8320, 8330)]) # 根据迷你下标字符编码生成下标数字字符串。


    def toSupNum(self, s: str):
        ' 转换数字迷你上标 '
        result = ''
        
        for i in s:
            
            if i.isdigit():
                result += self.SupNums[int(i)]
            else:
                result += i

        return result


    def toSubNum(self, s: str):
        ' 转换数字迷你下标 '
        result = ''
        
        for i in s:
            
            if i.isdigit():
                result += self.SubNums[int(i)]
            else:
                result += i

        return result




if __name__ == '__main__':
    char = CharMini()
    print(f"\n上标:{char.SupNums};下标:{char.SubNums}")
    s = input(f"\n输入带数字字符串:") 
    s = '圆周率:3.1415926535' if not s else s
    print(f"\n原字符串:{s}\n\n数字上标:{char.toSupNum(s)}\n\n数字下标:{char.toSubNum(s)}")

# 代码复用优化后代码 #
class CharMini:


    def __init__(self):
        self.SupNums = '⁰¹²³⁴⁵⁶⁷⁸⁹' # 上标数字字符串。
        self.SubNums = ''.join([chr(i) for i in range(8320, 8330)]) # 根据迷你下标字符编码生成下标数字字符串。


    def toSupNum(self, s: str):
        ' 转换数字迷你上标 '
        return self.replace(s, self.SupNums)


    def toSubNum(self, s: str):
        ' 转换数字迷你下标 '
        return self.replace(s, self.SubNums)


    def replace(self, s: str, rules: str):
        ' 迷你数字替换 '
        result = ''
        
        for i in s:
            
            if i.isdigit():
                result += rules[int(i)]
            else:
                result += i

        return result


if __name__ == '__main__':
    char = CharMini()
    print(f"\n上标:{char.SupNums};下标:{char.SubNums}")
    s = input(f"\n输入带数字字符串:") 
    s = '圆周率:3.1415926535' if not s else s
    print(f"\n原字符串:{s}\n\n数字上标:{char.toSupNum(s)}\n\n数字下标:{char.toSubNum(s)}")

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88



回页首


上一篇:  286枚迷你上下标字符(上下标的设置:在格式文本和inter页面,可以轻松实现;但在纯文本您却力有不逮,读过本文您将轻松写意)
下一篇: 

我的HOT博:

  本次共计收集 227 篇博文笔记信息,总阅读量 38.99w,平均阅读量 1717。已生成 25 篇阅读量不小于 3000 的博文笔记索引链接。数据采集于 2023-09-04 22:05:07 完成,用时 4 分 18.09 秒。


  1. ChatGPT国内镜像站初体验:聊天、Python代码生成等
    ( 58020 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/129035387
    点赞:125   踩 :0  收藏:795  打赏:0  评论:75
    本篇博文笔记于 2023-02-14 23:46:33 首发,最晚于 2023-07-03 05:50:55 修改。
  2. 让QQ群昵称色变的神奇代码
    ( 57736 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122566500
    点赞:24   踩 :0  收藏:82  打赏:0  评论:17
    本篇博文笔记于 2022-01-18 19:15:08 首发,最晚于 2022-01-20 07:56:47 修改。
  3. pandas 数据类型之 DataFrame
    ( 9055 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/124525814
    点赞:6   踩 :0  收藏:31  打赏:0  评论:0
    本篇博文笔记于 2022-05-01 13:20:17 首发,最晚于 2022-05-08 08:46:13 修改。
  4. 个人信息提取(字符串)
    ( 7091 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/124244618
    点赞:1   踩 :0  收藏:13  打赏:0  评论:0
    本篇博文笔记于 2022-04-18 11:07:12 首发,最晚于 2022-04-20 13:17:54 修改。
  5. 罗马数字转换器|罗马数字生成器
    ( 6908 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122592047
    点赞:0   踩 :0  收藏:1  打赏:0  评论:0
    本篇博文笔记于 2022-01-19 23:26:42 首发,最晚于 2022-01-21 18:37:46 修改。
  6. Python字符串居中显示
    ( 6775 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122163023
    点赞:1   踩 :0  收藏:6  打赏:0  评论:1
    本篇博文笔记于 2021-12-26 23:35:29 发布。
  7. Python列表(list)反序(降序)的7种实现方式
    ( 6212 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/128271700
    点赞:5   踩 :0  收藏:19  打赏:0  评论:8
    本篇博文笔记于 2022-12-11 23:54:15 首发,最晚于 2023-03-20 18:13:55 修改。
  8. 斐波那契数列的递归实现和for实现
    ( 5477 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122355295
    点赞:4   踩 :0  收藏:2  打赏:0  评论:8
    本篇博文笔记于 2022-01-06 23:27:40 发布。
  9. 练习:字符串统计(坑:f‘string‘报错)
    ( 5049 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/121723096
    点赞:0   踩 :0  收藏:1  打赏:0  评论:0
    本篇博文笔记
  10. python清屏
    ( 4923 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/120762101
    点赞:0   踩 :0  收藏:6  打赏:0  评论:0
    本篇博文笔记于 2021-10-14 13:47:21 发布。
  11. 回车符、换行符和回车换行符
    ( 4907 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/123109488
    点赞:1   踩 :0  收藏:2  打赏:0  评论:0
    本篇博文笔记于 2022-02-24 13:10:02 首发,最晚于 2022-02-25 20:07:40 修改。
  12. 练习:尼姆游戏(聪明版/傻瓜式•人机对战)
    ( 4873 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/121645399
    点赞:14   踩 :0  收藏:42  打赏:0  评论:0
    本篇博文笔记于 2021-11-30 23:43:17 发布。
  13. 密码强度检测器
    ( 4236 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/121739694
    点赞:1   踩 :0  收藏:4  打赏:0  评论:0
    本篇博文笔记于 2021-12-06 09:08:25 首发,最晚于 2022-11-27 09:39:39 修改。
  14. 练习:生成100个随机正整数
    ( 4182 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122558220
    点赞:1   踩 :0  收藏:6  打赏:0  评论:0
    本篇博文笔记于 2022-01-18 13:31:36 首发,最晚于 2022-01-20 07:58:12 修改。
  15. 罗马数字转换器(用罗马数字构造元素的值取模实现)
    ( 4085 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122608526
    点赞:0   踩 :0  收藏:0  打赏:0  评论:0
    本篇博文笔记于 2022-01-20 19:38:12 首发,最晚于 2022-01-21 18:32:02 修改。
  16. 我的 Python.color() (Python 色彩打印控制)
    ( 3945 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/123194259
    点赞:2   踩 :0  收藏:7  打赏:0  评论:0
    本篇博文笔记于 2022-02-28 22:46:21 首发,最晚于 2022-03-03 10:30:03 修改。
  17. 练习:班里有人和我同生日难吗?(概率probability、蒙特卡洛随机模拟法)
    ( 3817 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/124424935
    点赞:1   踩 :0  收藏:4  打赏:0  评论:0
    本篇博文笔记于 2022-04-26 12:46:25 首发,最晚于 2022-04-27 21:22:07 修改。
  18. 练习:仿真模拟福彩双色球——中500w巨奖到底有多难?跑跑代码就晓得了。
    ( 3611 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/125415626
    点赞:3   踩 :0  收藏:6  打赏:0  评论:3
    本篇博文笔记于 2022-06-22 19:54:20 首发,最晚于 2022-06-23 22:41:33 修改。
  19. random.sample()将在python 3.9x后续版本中被弃用
    ( 3518 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/120657230
    点赞:0   踩 :0  收藏:0  打赏:0  评论:0
    本篇博文笔记
  20. 聊天消息敏感词屏蔽系统(字符串替换 str.replace(str1, *) )
    ( 3394 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/124539589
    点赞:4   踩 :0  收藏:2  打赏:0  评论:3
    本篇博文笔记于 2022-05-02 13:02:39 首发,最晚于 2022-05-21 06:10:42 修改。
  21. Linux 脚本文件第一行的特殊注释符(井号和感叹号组合)的含义
    ( 3367 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/123087606
    点赞:0   踩 :0  收藏:4  打赏:0  评论:3
    本篇博文笔记于 2022-02-23 13:08:07 首发,最晚于 2022-04-04 23:52:38 修改。
  22. 练习:小炼二维数组
    ( 3228 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/125175592
    点赞:9   踩 :0  收藏:5  打赏:0  评论:9
    本篇博文笔记于 2022-06-07 23:54:43 首发,最晚于 2022-06-08 00:31:49 修改。
  23. 练习:求列表(整数列表)平衡点
    ( 3193 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/121737612
    点赞:0   踩 :0  收藏:0  打赏:0  评论:0
    本篇博文笔记
  24. 练习:银行复利计算(用 for 循环解一道初中小题)
    ( 3095 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/123854548
    点赞:0   踩 :0  收藏:0  打赏:0  评论:0
    本篇博文笔记于 2022-03-30 20:06:37 首发,最晚于 2022-04-06 18:15:16 修改。
  25. 练习:柱状图中最大矩形
    ( 3080 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122032365
    点赞:0   踩 :0  收藏:0  打赏:0  评论:0
    本篇博文笔记
推荐条件 阅读量突破三千
(更多热博,请点击蓝色文字跳转翻阅)

回页首


老齐漫画头像

精品文章:

  • 好文力荐:齐伟书稿 《python 完全自学教程》 Free连载(已完稿并集结成书,还有PDF版本百度网盘永久分享,点击跳转免费?下载。)
  • OPP三大特性:封装中的property
  • 通过内置对象理解python'
  • 正则表达式
  • python中“*”的作用
  • Python 完全自学手册
  • 海象运算符
  • Python中的 `!=`与`is not`不同
  • 学习编程的正确方法

来源:老齐教室


回页首

◆ Python 入门指南【Python 3.6.3】


好文力荐:

  • 全栈领域优质创作者——[寒佬](还是国内某高校学生)博文“非技术文—关于英语和如何正确的提问”,“英语”和“会提问”是编程学习的两大利器。
  • 【8大编程语言的适用领域】先别着急选语言学编程,先看它们能干嘛
  • 靠谱程序员的好习惯
  • 大佬帅地的优质好文“函数功能、结束条件、函数等价式”三大要素让您认清递归

CSDN实用技巧博文:

  • 8个好用到爆的Python实用技巧
  • python忽略警告
  • Python代码编写规范
  • Python的docstring规范(说明文档的规范写法)

注:本文转载自blog.csdn.net的梦幻精灵_cq的文章"https://blog.csdn.net/m0_57158496/article/details/132678938"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2491) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top