我正在编写一个程序来计算给定分子的质量。我已将每个元素定义为整数。我需要能够输入像 NaCl 这样的化学式,并让它打印出 Na 和 Cl 的原子质量之和。到目前为止,我已经设置好了,这样我就可以输入化学式并将其转换为元素列表,所以如果我输入 NaCl,它会给我 ['Na', 'Cl']。这是代码:
import re
Na = 22.99
Cl = 35.45
input = raw_input()
inputList = (re.findall('[A-Z][^A-Z]*', input))
首先,我需要知道如何告诉计算机我正在输入我之前定义的变量,而不是字符串。然后我想让它将列表中的每个项目分配给它自己的变量。有点像
e1 = Na
e2 = Cl
我的主要问题是目前我的输入被视为字符串。
最佳答案
我相信你想要的是一本字典,像这样:
atomic_wt = {'Na':22.99, 'Cl':35.45}
稍后,当您有输入时,您可以循环访问它们:
for element in inputList:
elem_wt = atomic_wt[element]
关于python - 让用户输入变量用于以后的方程式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33226349/