【发布时间】:2019-05-11 19:59:07
【问题描述】:
感谢您的帮助和耐心。
我是 python 新手,正在尝试计算特定原子符号出现的次数除以原子总数。因此该函数接受一个字符串列表作为参数,并返回一个包含“C”、“H”、“O”和“N”分数的列表。但我继续得到一个结果,而不是为我的每个原子得到所有结果。我的尝试如下:
Atoms = ['N', 'C', 'C', 'O', 'H', 'H', 'C', 'H', 'H', 'H', 'H', 'O', 'H']
def count_atoms (atoms):
for a in atoms:
total = atoms.count(a)/len(atoms)
return total
然后
faa = count_atoms(atoms)
print(faa)
但是我只得到一个结果,即 0.07692307692307693。我应该得到一个以 [0.23076923076923078,..etc] 开头的列表,但我不知道该怎么做。我应该使用 for 循环和 return 语句计算分子中“C”、“H”、“O”和“N”原子符号的分数。 :(请帮忙,我们将不胜感激。
【问题讨论】:
-
只要你在函数中
return,函数就会退出。这意味着它只通过你的循环一次。尝试append()将您的值添加到列表中,然后在循环外返回整个列表 -
感谢您的快速回复
标签: python function for-loop return jupyter-notebook