鱼C论坛

 找回密码
 立即注册
查看: 2532|回复: 0

[作品展示] 利用Python求化学式中元素质量分数或相对质量

[复制链接]
发表于 2020-12-20 17:29:26 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 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")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-17 01:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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