这段代码有效,但有两种情况无效

-2 投票
1 回答
45 浏览
提问于 2025-04-14 16:46

**这段代码没有通过两个隐藏测试**

inputs = input()
simulation_days = int(inputs.split(" ")[0])
initial_bone_mass = float(inputs.split(" ")[1])
initial_muscle_mass = float(inputs.split(" ")[2])

final_muscle_mass = initial_muscle_mass
final_bone_mass = initial_bone_mass

for day in range(simulation_days):
    final_muscle_mass *= (1 - 0.02) 
    final_bone_mass *= (1 - 0.015)  
    final_bone_mass += 0.02 * final_muscle_mass  
    final_muscle_mass -= 0.02 * final_muscle_mass  

print(f"Final Muscle Mass: {final_muscle_mass:.2f} kg and Final Bone Mass: {final_bone_mass:.2f} kg")

这是任务说明:

太空中的重力 - 模拟对人体的影响(这是个有挑战性的问题)

很多人认为太空没有重力,但其实太空也是有重力的。那么,为什么宇航员在太空中会漂浮呢?

实际上,在空间站,宇航员处于持续的自由落体状态。处于自由落体中的物体会感到失重,或者说是微重力。虽然悬浮听起来很有趣,但人类的身体并不适合在这种低重力的环境中,很多宇航员会出现平衡问题、心肌损伤、骨量流失和视力问题。空间站或航天飞机其实是在向地球自由落体的状态中。国际空间站大约在400公里的高度绕地球运行。

在低重力环境下待久了,宇航员的肌肉和骨骼质量会减少。因为在没有重力的情况下,背部和腿部的肌肉没有承受任何重量,所以它们会开始变弱和流失。如果宇航员不进行锻炼,5到11天内可能会失去多达20%的肌肉质量。此外,宇航员体内的液体也会从肌肉转移到骨骼。

为了保持宇航员的健康,我们希望通过模拟来研究这些现象,利用我们从研究中获得的信息。这就是你们要做的事情!

在这个任务中,你需要建立一个系统,接受模拟的初始条件:

simulation_days - 一个整数,表示在太空中待的天数
initial_bone_mass - 一个小数,表示初始骨质量
initial_muscle_mass - 一个小数,表示初始肌肉质量

然后计算在太空中待的时间后,最终的肌肉质量和骨质量。输出格式如下(注意数值保留到小数点后两位):

最终肌肉质量:XX.XX kg 和 最终骨质量:XX.XX kg

最后,我们会在程序中使用之前研究得到的信息,以使我们的模拟更准确:

在太空中,每天肌肉质量减少2%

在太空中,每天骨质量减少1.5%

此外,肌肉中的液体每天以2%的速度转移到骨骼中

祝你成功!我相信你

示例1

输入:

4 - 在太空中待的天数

40 - 初始骨质量

60 - 初始肌肉质量

输出:

最终肌肉质量:51.05 kg 和 最终骨质量:41.98 kg

示例2

输入:

30 - 在太空中待的天数

50 - 初始骨质量

50 - 初始肌肉质量

输出:

最终肌肉质量:14.88 kg 和 最终骨质量:45.23 kg

我觉得可能是精度或打印格式的问题

1 个回答

0

在你减少肌肉质量之前,先把要转移到骨骼上的肌肉质量保存到另一个变量里。

for day in range(simulation_days):
    muscle_reduction = final_muscle_mass * 0.02
    final_muscle_mass -= muscle_reduction 
    final_bone_mass *= (1 - 0.015)  
    final_bone_mass += muscle_reduction

撰写回答