我有家庭作业的问题,我写了代码,每次我提交它,它说,返回的答案和预期的答案是相同的,但它仍然被标记为错误。 问题来了
编写一个名为“json_average”的函数,该函数将json格式的字符串作为对象数组格式的参数,其中每个对象都有键“mass”、“density”、“temperature”和“velocity”,每个键映射到一个浮点数。此函数应以JSON字符串的形式返回数组中所有对象的平均“mass”,格式为{“mass”:}
我试着用几种不同的方法编写代码,结果还是一样的。这是我最近的一次尝试。你知道吗
import json
def json_average (x):
data = json.loads(x)
summ = 0
n = 0
for s in data:
a = s["mass"]
summ = summ + a
n = n + 1
d = {"mass" : (summ/n)}
return(d)
这是它的回报
input ['[{"mass": 43.56, "density": 251.94, "velocity": 60.65, "temperature": 15.06}, {"mass": 7.36, "density": 856.29, "velocity": 84.25, "temperature": 26.59}, {"mass": 95.26, "density": 360.24, "velocity": 67.77, "temperature": 0.25}, {"mass": 82.25, "density": 402.19, "velocity": 82.79, "temperature": -4.6}]']
returned: {'mass': 57.1075}
expected: {"mass": 57.1075}
在函数中添加此行:
json.dumps(d)
其他注意事项:
summ
,镜像sum
)不是一个好主意summ
→mass_sum
n = n + 1
→n += 1
n
跟踪值的数量,除非不允许使用built-in functions。使用enumerate
,就像for i, s in enumerate(data):
。你知道吗备用代码:
使用^{} :
for-loop
mass_values
上使用sum
和len
相关问题 更多 >
编程相关推荐