这段代码有效,但有两种情况无效
**这段代码没有通过两个隐藏测试**
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 个回答
在你减少肌肉质量之前,先把要转移到骨骼上的肌肉质量保存到另一个变量里。
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