【发布时间】:2012-12-18 09:14:15
【问题描述】:
我什至不确定这个错误到底是什么问题。任何信息都会非常有帮助。
到目前为止我有什么:
def equations(specie,elements):
vectors=[]
for x in specie:
vector=extracting_columns(x,elements)
vectors.append(vector)
当我跑步时:
equations(['OH', 'CO2','c3o3','H2O3','CO','C3H1'],
['H', 'C', 'O'])
我收到以下错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
文件“_sage_input_77.py”,第 10 行,在 exec compile(u'print support.syseval(python, u"equations([\'OH\', \'CO2\',\'c3o3\',\'H2O3\',\' CO\',\'C3H1\'], unel)", SAGE_TMP_DIR) 文件“”,第 1 行,在
文件“/sagenb/sage_install/sage-5.4-sage.math.washington.edu-x86_64-Linux/devel/sagenb-git/sagenb/misc/support.py”,第 479 行,在 syseval 中 返回 system.eval(cmd,sage_globals,locals = sage_globals) 文件“/sagenb/sage_install/sage-5.4-sage.math.washington.edu-x86_64-Linux/local/lib/python2.7/site-packages/sage/misc/python.py”,第 56 行,在 eval 评估(z,全局) 文件“”,第 1 行,在
文件“”,第 4 行,在方程式中
文件“”,第 3 行,在 extracting_columns 中
ValueError: 需要超过 1 个值才能解压
如果需要,我以前的功能: 重新进口 def parse_formula(公式): '''给定一个简单的化学式,返回一个(元素,多重性)元组列表。
Example:
'H2SO4' --> [('H', 2.0), ('S', 1.0), ('O', 4.0)]
'''
return [ (elem, float(mul) if mul else 1.) for (elem, mul) in re.findall(r'([A-Z][a-z]*)(\d*)', formula) ]
def 唯一元素(组): c=[] 对于组中的元素: 片=解析公式(元素) 对于 x 件: c.append(x[0])
return list(set(c))
def extracting_columns(物种,元素): 物种向量=零(len(元素)) 对于 (el,mul) 实物: species_vector[elements.index(el)]=mul
return species_vector
【问题讨论】:
-
请修正格式,以便我们可以复制并粘贴它并尝试一下——或者至少阅读一下。
标签: python