Minecraft程序猿 发表于 2020-12-20 17:29:26

利用Python求化学式中元素质量分数或相对质量

本帖最后由 Minecraft程序猿 于 2020-12-23 12:00 编辑

最近化学科目经常计算化学式中元素质量分数,相对质量,元素质量之比等,几乎全是小数,手算算到要吐,所以用Python写了一个求解的程序
p.s.最初是手写到纸上的,后来转到了主机上
代码修改后未经测试,不一定稳定运行不报错,应该是正常的
from os import system

system("title 质量分数和元素质量求解 && color a")
print("--------质量分数和元素质量求解--------")
key = input("输入关键元素相对质量:")
num = input("输入关键元素数量:")

try:
    key = int(key)
    num = int(num)
except ValueError:
    print("输入有误")
except:
    print("出现未知错误")
else:
    a = input("是否启用质量计算(1/0):")
    if a == '1':
      t = input("输入物质总量:")
      b = input("输入单位:")
      try:
            t = int(t)
      except ValueError:
            print("输入有误")
      except:
            print("出现未知错误")
      else:
            pass
    else:
      t = 1
      b = ''

    def functionx(*others, keyx):
      a = 0
      for each in others:
            a += each
      a += keyx
      b = (t * keyx) / a
      return b

    listx = []
    listin = '0'

    while listin != "":
      listin = input("输入非关键元素相对质量:")
      listnum = input("该元素在化合物中的原子数目:")
      try:
            listin = int(listin)
            listnum = int(listnum)
      except:
            if listin == "":
                listin = 0
                listnum = 0
                break
            else:
                print("输入有误")
      else:
            listx.append(listin * listnum)
    print("计算结果:", functionx(*list, keyx=key*num), b, "\n结果仅供参考")
    system("pause")
页: [1]
查看完整版本: 利用Python求化学式中元素质量分数或相对质量