[英]Return a dictionary of a function
我想定义一个函数,它将文本文件的表作为字典读取,然后将其用于返回特定值。 键是化学符号(如氦的“He”,......)。 这些值返回其特定的原子质量。 我不明白,我该怎么办...
文本文件的前五行内容如下:
H,1.008
他,4.0026
李,6.94
是,9.0122
乙,10.81
这是我的尝试:(我不知道在哪里放置参数键以便我可以定义它)
def read_masses():
atom_masses = {}
with open["average_mass.csv") as f:
for line in f:
(key, value) = line.split(",")
atom_masses[key] = value
return(value)
m = read_masses("average_mass.csv)
print(m["N"]) #for the mass of nitrogen ```
一旦调用了 return,它下面的代码就不会执行。 您需要返回的是atom_masses
不是value
,您必须将其放在 for 循环之外
def read_masses(file):
atom_masses = {}
with open(file) as f:
for line in f:
(key, value) = line.split(",")
atom_masses[key] = value
return (atom_masses)
m = read_masses("average_mass.csv")
print(m["H"])
>>> 1.008
尝试:
def read_masses(name):
data = {}
with open(name, "r") as f_in:
for line in map(str.strip, f_in):
if line == "":
continue
a, b = map(str.strip, line.split(",", maxsplit=1))
data[a] = float(b)
return data
m = read_masses("your_file.txt")
print(m.get("He"))
印刷:
4.0026
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.