当前位置: 首页 > news >正文

化学元素分子量、氧化物系数计算python类

在网上找到的分子量计算类,做了少量修改,有原子量、分子量、氧化物系数的计算。

import re
wt_dict={ #该原子量数据从CRC手册第95版提取。"H":  1.008,"He":  4.002602,"Li":  6.94,"Be":  9.0121831,"B":  10.81,"C":  12.011,"N":  14.007,"O":  15.999,"F":  18.998403163,"Ne":  20.1797,"Na":  22.98976928,"Mg":  24.305,"Al":  26.9815385,"Si":  28.085,"P":  30.973761998,"S":  32.06,"Cl":  35.45,"Ar":  39.948,"K":  39.0983,"Ca":  40.078,"Sc":  44.955908,"Ti":  47.867,"V":  50.9415,"Cr":  51.9961,"Mn":  54.938044,"Fe":  55.845,"Co":  58.933194,"Ni":  58.6934,"Cu":  63.546,"Zn":  65.38,"Ga":  69.723,"Ge":  72.63,"As":  74.921595,"Se":  78.971,"Br":  79.904,"Kr":  83.798,"Rb":  85.4678,"Sr":  87.62,"Y":  88.90584,"Zr":  91.224,"Nb":  92.90637,"Mo":  95.95,"Ru":  101.07,"Rh":  102.9055,"Pd":  106.42,"Ag":  107.8682,"Cd":  112.414,"In":  114.818,"Sn":  118.71,"Sb":  121.76,"Te":  127.6,"I":  126.90447,"Xe":  131.293,"Cs":  132.90545196,"Ba":  137.327,"La":  138.90547,"Ce":  140.116,"Pr":  140.90766,"Nd":  144.242,"Sm":  150.36,"Eu":  151.964,"Gd":  157.25,"Tb":  158.92535,"Dy":  162.5,"Ho":  164.93033,"Er":  167.259,"Tm":  168.93422,"Yb":  173.054,"Lu":  174.9668,"Hf":  178.49,"Ta":  180.94788,"W":  183.84,"Re":  186.207,"Os":  190.23,"Ir":  192.217,"Pt":  195.084,"Au":  196.966569,"Hg":  200.592,"Tl":  204.38,"Pb":  207.2,"Bi":  208.9804,"Th":  232.0377,"Pa":  231.03588,"U":  238.02891,"Tc":  0,  #有些放射性元素的原子量没有提供,以0表示。"Pm":  0,"Po":  0,"At":  0,"Rn":  0,"Fr":  0,"Ra":  0,"Ac":  0,            "Np":  0,"Pu":  0,"Am":  0,"Cm":  0,"Bk":  0,"Cf":  0,"Es":  0,"Fm":  0,"Md":  0,"No":  0,"Lr":  0,"Rf":  0,"Db":  0,"Sg":  0,"Bh":  0,"Hs":  0,"Mt":  0,"Ds":  0,"Rg":  0,"Cn":  0,"Fl":  0,"Lv":  0}
class Mole():@staticmethod#是否是化学元素def isElement( ele: str) -> bool:if ele in wt_dict.keys():return Trueelse:return False@staticmethod#原子量def AtomicWeight( element: str) -> float:"""根据元素名称返回其原子量,区分大小写的"""if  len(element)>2:  # 元素名称长度不应超过2个字符.return Nonereturn wt_dict.get(element, 0.000)        @staticmethod#分子量def MolWt(formula:str) -> float:regStr="([A-Z]{1}[a-z]{0,1})([0-9]{0,3})"   #解析化学式的正则表达式 MatchList=re.findall(regStr, formula)cntMatchList=len(MatchList)i=0mW=0.000while i < cntMatchList:eleName=MatchList[i][0]eleCount= int(MatchList[i][1]) if len(MatchList[i][1])>0 else 1aw=Mole.AtomicWeight(eleName)if (aw==0): #防止错误表示不能及时识别出来。return 0mW += aw*eleCounti=i+1return mW@staticmethod #氧化物到单质的换算系数def Xishu(formula:str) -> float:regStr="([A-Z]{1}[a-z]{0,1})([0-9]{0,3})"   #解析化学式的正则表达式 MatchList=re.findall(regStr, formula)cntMatchList=len(MatchList)i=0mW=0.000r=[]while i < cntMatchList:eleName=MatchList[i][0]eleCount= int(MatchList[i][1]) if len(MatchList[i][1])>0 else 1r.append((eleName,eleCount))aw=Mole.AtomicWeight(eleName)if aw==0: #防止错误表示不能及时识别出来。return 0# mW += aw*eleCounti=i+1total=0ele_w=1for one in r:(eleName,eleCount)=onewt=Mole.AtomicWeight(eleName)*eleCountif eleName!="O":ele_w=wttotal=total+wtreturn total/ele_w@staticmethod    def letters():#用于元素符号的字母r=[]for k in wt_dict.keys():print(k)for one in k:if one.upper() in r:passelse:r.append(one.upper())return r
if __name__=="__main__":#find which letter not use in elementr=Mole.letters()print(r,len(r))all=[]start=ord("A")stop=ord("Z")a=startwhile a<=stop:all.append(chr(a))a+=1for one in all:if one in r:passelse:print(one)#answer is Q

相关文章:

化学元素分子量、氧化物系数计算python类

在网上找到的分子量计算类&#xff0c;做了少量修改,有原子量、分子量、氧化物系数的计算。 import re wt_dict{ #该原子量数据从CRC手册第95版提取。"H": 1.008,"He": 4.002602,"Li": 6.94,"Be": 9.0121831,"B": 10.…...

torch.utils.data.DataLoader参数介绍

torch.utils.data.DataLoader 是 PyTorch 用于加载数据的重要工具,特别是在深度学习模型训练中。它可以高效地处理大规模数据集,并支持多线程数据加载。以下是 DataLoader 的关键参数及其功能: 主要参数 dataset: 要加载的数据集,可以是 PyTorch 自带的 torch.utils.data.…...

echarts 入门

工作中第一次碰到echarts&#xff0c;当时有大哥。二进宫没办法&#xff0c;只能搞定它。 感觉生活就是这样&#xff0c;不能解决的问题总是会反复出现。通过看视频、查资料&#xff0c;完成了工作要求。写一篇Hello World&#xff0c;进行备查。 基本使用 快速上手 <!DO…...

WPF实现类似网易云音乐的菜单切换

这里是借助三方UI框架实现了&#xff0c;感兴趣的小伙伴可以看一下。 深色模式&#xff1a;​ 浅色模式&#xff1a; ​这里主要使用了以下三个包&#xff1a; MahApps.Metro&#xff1a;UI库&#xff0c;提供菜单导航和其它控件​​​​​​​ 实现步骤&#xff1a;1、使用B…...

OpenCV人脸检测与识别:构建智能识别系统

在当今科技日新月异的时代&#xff0c;人脸识别技术以其独特的便利性和安全性&#xff0c;在各个领域都展现出了巨大的应用潜力。从智能手机的面部解锁&#xff0c;到机场的自动安检&#xff0c;再到商场的顾客行为分析&#xff0c;人脸识别技术无处不在。本文将深入探讨如何使…...

H5 Canvas 举牌小人

之前看到这种的举牌小人的图片觉得很有意思&#xff0c;最近有时间所以就尝试写写看。 在线链接 https://linyisonger.github.io/H5.Examples/?name./080.Canvas%20%E4%B8%BE%E7%89%8C%E5%B0%8F%E4%BA%BA.html 生成效果 实现代码 <!DOCTYPE html> <html lang"…...

rom定制系列------小米6x_澎湃os1.0.28安卓13定制固件修改 刷写过程与界面预览

&#x1f49d;&#x1f49d;&#x1f49d; 在接待很多定制化系统过程中。小米6x机型为很多工作室客户使用。但官方低版本固件无法适应新应用的使用。有些第三方固件却可以完美解决。此固件是客户分享的卡刷固件。需要修改为可以批量刷写的线刷固件。去除一些内置应用。需要自带…...

电脑硬件性能:HDD + SSD + CPU + GPU

文章目录 任务管理器&#xff1a;性能参数详解一、电脑的硬件组成二、机械硬盘和固态硬盘2.1、详细介绍&#xff1a;HDD SSD2.2、读写性能2.2.1、&#xff08;HDD&#xff09;读写性能的影响因素&#xff1a;寻道时间 旋转延迟 数据传输时间2.2.2、&#xff08;SSD&#xff…...

通过粒子系统customData传值给材质球

粒子特效使用的材质球&#xff0c;如果通过动画控制shader的某个参数&#xff0c;例如溶解阈值&#xff0c;所有的粒子都会按照相同的数值变化&#xff0c;如果需要每个粒子在自己的生命周期内按照曲线变化&#xff0c;则可以通过customData实现。 1.ParticleSystem中勾选Cust…...

常用分布的数学期望、方差、特征函数

文章目录 相关教程相关文献常用分布的数学期望&方差&特征函数定义事件域概率条件概率随机变量分布函数连续随机变量的概率密度函数数学期望离散随机变量连续随机变量 方差与标准差最大似然估计特征函数 不等式Chebyshev&#xff08;切比雪夫&#xff09;不等式 作者&am…...

ssh-配置

生成 SSH 密钥是一项重要的安全措施&#xff0c;用于在客户端和服务器之间建立加密连接。以下是在 Windows 和 Linux 系统上生成 SSH 密钥的详细步骤。 一、在 Linux 上生成 SSH 密钥 Linux 通常预装了 ssh-keygen 工具&#xff0c;可以通过以下步骤生成 SSH 密钥&#xff1a…...

Python 在 JMeter 中如何使用?

要在JMeter中使用Python&#xff0c;需要使用JSR223 Sampler元素来执行Python脚本。使用JSR223 Sampler执行Python脚本时&#xff0c;需要确保已在JMeter中配置了Python解释器&#xff0c;并设置了正确的环境路径。 1、确保JMeter已安装Python解释器&#xff0c;并将解释器的路…...

贪心day1

文章目录 前言雪糕的最大数量重新分装苹果装满石头的背包的最大数量K 次取反后最大化的数组和不同整数的最少数目 前言 &#x1f4ab;你好&#xff0c;我是辰chen&#xff0c;本文旨在准备考研复试或就业 &#x1f4ab;文章题目大多来自于 leetcode&#xff0c;当然也可能来自洛…...

Redis 完整指南:命令与原理详解

目录 1. Redis 概述什么是 RedisRedis 应用场景 2. 安装与启动Redis 安装步骤源代码安装使用包管理器安装&#xff08;以 Ubuntu 为例&#xff09; 编译与启动命令编客户端连接 3. Redis 存储结构KV 存储结构数据结构类型String&#xff08;字符串&#xff09;List&#xff08;…...

【2024软考高级架构师】论文篇——3、论Web系统的测试技术及其应用

【摘要】 本人于2023年8月参与了某地级市的市级机关电子政务信息系统的建设工作,该项目是该市机关的电子政务网建设计划的一部分,笔者在该项目中担任项目经理和系统分析师一职,主要负责项目的日常全面管理和质量保证与质量控制工作。该项目是基于WEB系统的,由于WEB系统具有…...

迪杰斯特拉算法的理解

图片转载自&#xff1a;最短路径算法-迪杰斯特拉(Dijkstra)算法 - 程序小哥爱读书的文章 - 知乎 https://zhuanlan.zhihu.com/p/346558578 迪杰斯特拉&#xff0c;一个广度优先算法&#xff0c;采用了贪心策略。 第一步&#xff0c;选取顶点D&#xff0c;更新和D相连的节点C&a…...

华为OD机试 - 文本统计分析(Python/JS/C/C++ 2024 E卷 200分)

华为OD机试 2024E卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试真题&#xff08;Python/JS/C/C&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;私信哪吒&#xff0c;备注华为OD&#xff0c;加入华为OD刷题交流群&#xff0c;…...

计算机挑战赛9

Excel表列名称由字母A~Z组成&#xff0c;列字母的规律如下: A、B、C.、AA、AB....AZ、BA、B...ZZZZY、ZZZZ...输入: 输入包含两个列名称字符串&#xff0c;长度均小于等于5。 输出: 输出两个列名称之间共有多少列 样例输入: AA AZ 样例输出: 24 代码&#xff1a; C&…...

C++学习路线(十六)

void类型指针 void -> 空类型 void* -> 空类型指针&#xff0c;只存储地址的值&#xff0c;丢失类型&#xff0c;无法访问&#xff0c;要访问里面的值 我们必须对指针进行正确的类型转换&#xff0c;然后再间接引用指针 所有其它类型的指针都可以隐式自动转换成 void 类型…...

2024年最受欢迎的AI工具与实际应用:AI技术对未来生活的深远影响

2024年最受欢迎的AI工具与实际应用&#xff1a;AI技术对未来生活的深远影响 随着2024年的到来&#xff0c;人工智能&#xff08;AI&#xff09;技术已经深入渗透到我们生活的方方面面。从日常工作到科学研究&#xff0c;AI工具的应用变得越来越广泛。无论是生成式AI工具&#…...

【网络安全】账户安全随笔

未经许可,不得转载。 作者:Enoch 原文出处:https://mp.weixin.qq.com/s/oKBpZ0F6Kl5NNmHSYCYIPw 文章目录 账户类型资金划转问题幂等ID使用错误多接口并发问题精度问题其他划转问题特殊资金盗取问题科学计数法问题账户类型 在互联网金融和电商企业中,账户安全直接关系到用…...

在线培训知识库管理系统:教育行业的新动力

在当今数字化时代&#xff0c;教育行业正经历着前所未有的变革。随着在线教育的兴起&#xff0c;如何高效地管理和传播知识成为了一个关键问题。在线培训知识库管理系统应运而生&#xff0c;它以其强大的知识整合、分享和管理能力&#xff0c;为教育行业注入了新的活力。 一、…...

【AI声音克隆本地整合包及教程】第二代GPT-SoVITS V2:声音克隆的新境界

在数字时代的浪潮中&#xff0c;个性化和创新是永恒的主题。GPT-SoVITS V2&#xff0c;作为第二代声音克隆技术&#xff0c;正以其革命性的特性和应用&#xff0c;为个人和企业打开一扇通往声音个性化的新大门。 声音克隆的新高度 GPT-SoVITS V2是由RVC变声器创始人“花儿不哭…...

博看书苑 8.8.1| 免费阅读海量图书期刊

博看书苑是一款免费的图书和期刊阅读神器&#xff0c;拥有海量的图书和期刊资源&#xff0c;涵盖了文学、历史、科技、教育等多个领域。无论你是想深入研究某个专业领域&#xff0c;还是想在闲暇时阅读一些轻松的读物&#xff0c;博看书苑都能满足你的需求。更令人惊喜的是&…...

导致动态代理无法使用的原因有哪些?

在动态代理的应用过程中&#xff0c;有时会遇到其无法正常使用的情况。这种现象可能源于多种原因&#xff0c;从网络配置到软件设置&#xff0c;了解和解决这些问题对保持代理的高效运行至关重要。本文将详细探讨导致动态代理无法使用的主要原因及对策&#xff0c;以帮助用户及…...

熟练使用Spring Boot、Spring Cloud Alibaba微服务开发框架,并深入理解其原理 学习要求

1. Spring Boot 核心理解 自动配置&#xff1a;了解 Spring Boot 的自动配置原理&#xff08;EnableAutoConfiguration&#xff09;&#xff0c;包括如何查看和定制自动配置的内容。需要能解释 Spring Boot 如何减少样板代码。Spring Boot Starter&#xff1a;熟悉各种 starte…...

2024-10-09 问AI: [AI面试题] 描述数据预处理在 AI 中的重要性

文心一言 数据预处理在人工智能&#xff08;AI&#xff09;中扮演着至关重要的角色&#xff0c;它是构建高效、准确和可靠AI模型不可或缺的步骤。以下是数据预处理在AI中重要性的详细描述&#xff1a; 1. 提高数据质量 清理和去噪&#xff1a;数据预处理可以识别和纠正数据中…...

Linux中文件的理解

✨前言✨ &#x1f4d8; 博客主页&#xff1a;to Keep博客主页 &#x1f646;欢迎关注&#xff0c;&#x1f44d;点赞&#xff0c;&#x1f4dd;留言评论 ⏳首发时间&#xff1a;2024年10月16日 &#x1f4e8; 博主码云地址&#xff1a;渣渣C &#x1f4d5;参考书籍&#xff1a…...

益安宁丸,国药准字,值得信赖

益安宁丸真品辨别唯一标准 益安宁丸是由同溢堂药业有限公司独家生产的一款中成药&#xff0c;主要用于调理心血管系统&#xff0c;广泛应用于内地市场及港澳地区。由于其疗效显著&#xff0c;益安宁丸在消费者中享有良好的声誉&#xff0c;被誉为心血管健康的守护者。然而&…...

Django项目的创建及说明(详细图解版)

Django项目的创建及说明 1、安装Django2、创建项目2.1、利用终端创建项目2.2、利用Pycharm企业版创建项目 3、默认文件介绍 1、安装Django 在终端输入下述命令行。 pip install django安装成功后执行如下命令查看Django是否安装好&#xff0c;若正确显示出Django版本号则安装…...