python - 让用户输入变量用于以后的方程式

标签 python python-2.7

我正在编写一个程序来计算给定分子的质量。我已将每个元素定义为整数。我需要能够输入像 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/

相关文章:

python - 将 csv 转换为具有多个值的字典?

Python 脚本错误地删除了 .xlsx 文件中创建的图表

python - Django: 'module' 对象没有属性 'ChoiceField' , 'MultipleChoiceField'

python - 为什么 QSplashscreen 并不总是有效?

python - 在 Python 中忽略来自第三方包的日志消息

python - 使用 subprocess 模块访问无密码 SSH 设备

python - 为什么 PyQt4 DialogBox OpenFileName 在 Linux 下卡住直到其他线程完成

python - 如何获取 Slack API 的用户 token

python - 使用 Python imaplib 永久删除 Gmail 电子邮件

python - 导入 zlib ImportError : No module named zlib