鱼C论坛

 找回密码
 立即注册
查看: 181|回复: 3

化学分子式

[复制链接]
发表于 2026-1-22 22:11:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
各位大佬,小弟问个问题

<span>
"C"
<sub>13</sub>
"H"
<sub>14</sub>
"N"
<sub>2</sub>
"O"
<sub>5</sub>

这个化学分子式怎么提取成C13H14N2O5形式
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2026-1-22 22:12:32 | 显示全部楼层
我们可以通过编程的方式提取并格式化化学分子式。下面是一个简单的Python实现:


  1. def format_molecular_formula(elements, counts):
  2.     # 按照C、H、其他元素字母顺序排列
  3.     order = ['C', 'H']
  4.     other_elements = [e for e in elements if e not in order]
  5.     other_elements.sort()
  6.    
  7.     # 组合排序后的元素列表
  8.     sorted_elements = order + other_elements
  9.    
  10.     # 构建分子式字符串
  11.     formula = ''
  12.     for element in sorted_elements:
  13.         index = elements.index(element)
  14.         count = counts[index]
  15.         formula += element
  16.         if count > 1:
  17.             formula += str(count)
  18.    
  19.     return formula

  20. # 输入数据
  21. elements = ['C', 'H', 'N', 'O']
  22. counts = [13, 14, 2, 5]

  23. # 格式化输出
  24. result = format_molecular_formula(elements, counts)
  25. print(result)  # 输出: C13H14N2O5
复制代码


关键步骤说明:

1. 将元素和对应的数量分别存储在列表中
2. 按化学分子式的常见顺序排序:先CH,然后其他元素按字母顺序
3. 遍历排序后的元素,如果数量大于1,则添加数字
4. 最终得到格式正确的分子式C13H14N2O5

注意:这个实现假设输入已经是按顺序给出的。如果你的原始数据格式不同,可能需要先解析文本数据。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2026-1-23 20:34:06 | 显示全部楼层
<div class="basic_text">
                                    <label>分子式:</label>
                                    <span>C<sub>13</sub>H<sub>14</sub>N<sub>2</sub>O<sub>5</sub></span>
                                </div>

FishC  大神
在这里怎么能提取化学分子式
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2026-1-23 20:34:52 | 显示全部楼层
zjh5258 发表于 2026-01-23 20:34
分子式:
                                    C13H ...


要从文本中提取化学分子式,比如从字符串“分子式:\nC13H14N2O5”中提取出“C13H14N2O5”,可以使用正则表达式匹配化学元素符号和数字的模式。下面是一个简单的Python示例:


  1. import re

  2. def extract_formula(text):
  3.     # 正则表达式模式:匹配大写字母开头,可选小写字母,后跟零个或多个数字,重复整个模式
  4.     pattern = r'[A-Z][a-z]?\d*(?:[A-Z][a-z]?\d*)*'
  5.     match = re.search(pattern, text)
  6.     if match:
  7.         return match.group()
  8.     return None

  9. # 示例文本
  10. text = "分子式:\nC13H14N2O5"
  11. formula = extract_formula(text)
  12. print(formula)  # 输出: C13H14N2O5
复制代码


如果你需要从更复杂的文本中提取,这个模式也能匹配常见的化学分子式结构。只需将 text 变量替换为你的字符串即可。

注意:如果文本中有多个类似化学分子式的字符串,此方法只返回第一个匹配项。如有其他特殊情况,可以调整正则表达式模式。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-2-13 01:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表