打印上下标可以采用str对象的maketrans(str1, str2)方法。该方法用于创建字符映射转换表,有两个参数,参数str1存入要转换的字符,参数str存入相应的转换后的字符,例如大小写字母的转换:

upper_letter = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
lower_letter = 'abcdefghijklmnopqrstuvwxyz'
# 创建字符映射表
upper_to_lower = str.maketrans(upper_letter, lower_letter)
print('PYTHON3.8'.translate(upper_to_lower))
# 输出:python3.8

输出结果显示,映射表中包含的大写字母(PYTHON)都转换成了小写(python),映射表中不涉及的字符(3.8)不发生变化。

对于打印数字上下标的需求,只需创建好普通样式和上标样式的数字字符映射表,就能实现转换。比如打印方程式需要上标格式的数字:

# 定义上标数字的映射表
sup_map = str.maketrans('0123456789', '⁰¹²³⁴⁵⁶⁷⁸⁹')
formula = 'y=x2'
print(formula.translate(sup_map))
# 输出:y=x²

再比如打印化学分子式需要下标格式的数字:

# 定义下标数字的映射表
sub_map = str.maketrans('0123456789', '₀₁₂₃₄₅₆₇₈₉')
formula = 'H2O'
print(formula.translate(sub_map))
# 输出:H₂O

更复杂的输出可以结合正则表达式,比如下面的代码输出的是一元三次函数:

# 创建字符映射表
sup_map = str.maketrans('0123456789', '⁰¹²³⁴⁵⁶⁷⁸⁹')
# 要转换的字符串
formula = 'y=x3+2x2+3x+4'
# 匹配出要转换的表示次幂的字符
results = re.findall(r'x\d\+', formula)
# 依次替换成上标的格式
for s in results:# s[:-1]的目的是让结尾的加号(+)不参与替换操作,因为“+”与通配符有冲突formula = re.sub(s[:-1], s[:-1].translate(sup_map), formula)
print(formula)  # 输出:y=x³+2x²+3x+4

参考资料:https://codeigo.com/python/printing-subscript-and-superscript

如何用Python打印带数字上下标的字符串(函数表达式、化学方程式等)相关推荐

  1. python命名规则数字开头的成语_浅谈Python中带_的变量或函数命名

    搜索热词 Python 的代码风格由 PEP 8 描述.这个文档描述了 Python 编程风格的方方面面.在遵守这个文档的条件下,不同程序员编写的 Python 代码可以保持最大程度的相似风格.这样就 ...

  2. python 把带小数的浮点型字符串转换为整数的解决方案

    python 把带小数的浮点型字符串转换为整数的解决方案 参考文章: (1)python 把带小数的浮点型字符串转换为整数的解决方案 (2)https://www.cnblogs.com/mlgjb/ ...

  3. 如何用Python检查回文对联(字符串)

    前言 如何用Python检查回文对联(字符串) 检查回文对联 回文,指汉语中的回文语法,即把相同的词汇或句子,在下文中调换位置或颠倒过来,产生首尾回环的情况,叫做回文,也叫回环. 代码如下(示例): ...

  4. java中print换行符_如何在java中打印带换行符的字符串

    我需要使用 java打印一个字符串,所以我喜欢以下解决方案经过google搜索了很多.我做了一些更改来打印字符串而不显示打印对话框.我的问题是虽然这个方法正确地打印了字符串,但它不会像我定义的那样破坏 ...

  5. python打印100以内的素数_如何用python打印100以内的质数?

    在计算机使用的过程中,计算是必不可少的.编程中含有大量的数学计算,可以帮助我们解决实际难操作的问题.有的时候我们会忘记质数是什么,之前小编向大家介绍过在python中判断质数的方法(判断数字是否为质数 ...

  6. python 将带数字的拼音转换为带声调的拼音

    最终实现结果如图 最后附上代码, from pypinyin import pinyin, Style # 传入汉字和带数字的拼音,然后返回的值是带音调的拼音 def text_tone2pinyin ...

  7. 独家 | 如何用Python编写你最喜欢的R函数?

    翻译:陈之炎 校对:卢苗苗 本文共2136字,建议阅读5分钟. 本文介绍了采用创建一个Python脚本,用该脚本模仿R风格的函数的方法来方便地进行统计. 是用R语言还是用Python语言?这是一个旷日 ...

  8. Python 学习之 --- 语法部分(字符串函数)

    文章目录 str.find() str.index() str.count() str.replace() str.split() str.capitalize() str.title() str.u ...

  9. Python学习日记(3)Python内建函数map()、filter()和匿名函数表达式

    内建函数map() 这个函数接收一个函数和一个可迭代对象作为参数,并以某种方式应用这个函数. old_list = [11,22,33] old_str = "test"new_l ...

最新文章

  1. 小程序开发总结一:mpvue框架及与小程序原生的混搭开发
  2. c++学习笔记之友元函数
  3. 工程化,模块化,组件化,规范化
  4. 通过8个技巧让你成为一个超强的Linux终端用户
  5. 用c语言实现数据结构算法将两个有序链表并为一个有序链表的算法,,(完整版)数据结构-习题集答案-(C语言版严蔚敏)...
  6. c语言实现sbrk函数,菜鸟随笔(2)---brk()与sbrk()函数的学习与使用
  7. java 日期相差年份_JAVA计算两个日期相差的实例
  8. FDDB评估工具使用
  9. 红外额温枪方案(包含原理图和PCB文件)
  10. 游戏服务器哪种系统稳定,游戏服务器一般用什么系统吗
  11. Android Studio如何用无线(WiFi)连接手机进行调试
  12. java百度地图逆地址解析_百度地图逆地址解析
  13. 谷歌云|机密 GKE 节点可在计算优化的 C2D 虚拟机上使用
  14. JAVA开发与运维(云安全产品)
  15. Microsoft AI Talent Program教育行业合作计划
  16. vs2017 qt 修改exe图标没有更新成功
  17. 菜鸟要飞系列目录(在更)
  18. 涉密计算机用户身份鉴别,处理秘密级、机密级信息的涉密计算机系统的身份鉴别尝试次数连续达()次后,系统..._考试资料网...
  19. 1000美元实现自动驾驶,他是侠客还是极客?
  20. EBS OAF 发展 URL商标、加密和编码

热门文章

  1. linux 卸载kde桌面,Ubuntu下完全卸载KDE的方法
  2. Kafka 再均衡监听器示例
  3. UDS学习笔记(三)——协议的理解
  4. 什么是进销存?进销存软件有哪些功能?
  5. Java中带参方法的定义与调用
  6. python泰坦尼克号生存预测论文_泰坦尼克号生存率预测(基于Python)
  7. 华硕 PRIME H610M-A D4 i5-12490F 1060电脑 Hackintosh 黑苹果efi引导文件
  8. 七年java开发,在拿下阿里、腾讯、百度、美团的offer后,有感而发,总结如下
  9. 国外服务器上玩游戏延迟很高,什么原因造成的?
  10. 【树莓派C语言开发】实验06:轻触开关模块