这是我第一次发帖,而且我已经很久没有学习编码了。这是我尝试自己构建的第一个脚本,请多多关照。
该程序链接到元素及其原子质量的 CSV。用户输入一个化学式,返回的是分子量和分子量百分比的分解。它运行良好,但目前它需要6 个值,例如 H2SO4 的 H 2 S 1 O 4 。显然我希望有长公式的选项,但对于较短的,脚本返回一个错误,说它需要 6 个变量,但只有 4 个要解包,例如:H2O1。
如果没有用户输入/输入只是空白,是否有一种直接的方法可以使脚本跳过/忽略变量?我一直在谷歌上搜索它,但要么它比我想象的要困难,要么我没有很好地使用搜索引擎。我搞砸了 for 循环,但没有任何东西可以打球。
附上代码,我知道如果我有更多的知识,它可能会简单/流畅两倍。提前致谢。
def formula():
element_1, element_1_size, element_2, element_2_size, element_3, element_3_size = input("Enter your formula: ").split()
element_1_mass = float(elements_data_symbols.loc[element_1, "Atomic Mass"])
element_2_mass = float(elements_data_symbols.loc[element_2, "Atomic Mass"])
element_3_mass = float(elements_data_symbols.loc[element_3, "Atomic Mass"])
element_1_molecular_mass = element_1_mass * int(element_1_size)
element_2_molecular_mass = element_2_mass * int(element_2_size)
element_3_molecular_mass = element_3_mass * int(element_3_size)
molecular_mass = element_1_molecular_mass + element_2_molecular_mass + element_3_molecular_mass
molecule_name = str(element_1 + element_1_size + element_2 + element_2_size + element_3 + element_3_size)
print("Molecular mass of " + molecule_name + ": " + str(molecular_mass) + " g/mol")
element_1_percentage = element_1_molecular_mass / molecular_mass * 100
element_2_percentage = element_2_molecular_mass / molecular_mass * 100
element_3_percentage = element_3_molecular_mass / molecular_mass * 100
print(element_1 + ": " + str(element_1_percentage) + " %")
print(element_2 + ": " + str(element_2_percentage) + " %")
print(element_3 + ": " + str(element_3_percentage) + " %")
print(" ")