You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python自定义函数求助:如何实现mph_and_minutes_to_miles函数

问题与解决方案

固定代码(不可修改)

以下代码无法修改,需要实现其中的mph_and_minutes_to_miles自定义函数:

miles_per_hour = float(input())
minutes_traveled = float(input())

print(f'Miles: {mph_and_minutes_to_miles(miles_per_hour, 
minutes_traveled):f}')

错误尝试的代码

尝试的代码无法正常运行:

def calculate_hours_traveled(minutes_traveled):
hours_traveled = minutes_traveled / 60.0
return hours_traveled

def calculate_miles_traveled(miles_per_hour, hours_traveled):
miles_traveled = hours_traveled * miles_per_hour
return miles_traveled

mph_and_minutes_to_miles = miles_traveled
return mph_and_minutes_to_miles

问题出在最后两行:miles_traveled是calculate_miles_traveled函数内部的局部变量,外部无法直接访问;且没有将mph_and_minutes_to_miles定义为接收两个参数的函数,不符合固定代码的调用要求。

正确实现方法

方法一:合并逻辑到目标函数

直接在mph_and_minutes_to_miles函数内完成分钟转小时、计算英里数的逻辑:

def mph_and_minutes_to_miles(miles_per_hour, minutes_traveled):
    # 将分钟转换为小时
    hours = minutes_traveled / 60.0
    # 计算行驶英里数:时速 × 小时数
    return miles_per_hour * hours

方法二:复用辅助函数

如果想保留之前的两个辅助函数,需要在目标函数内调用它们:

def calculate_hours_traveled(minutes_traveled):
    return minutes_traveled / 60.0

def calculate_miles_traveled(miles_per_hour, hours_traveled):
    return miles_per_hour * hours_traveled

def mph_and_minutes_to_miles(miles_per_hour, minutes_traveled):
    hours = calculate_hours_traveled(minutes_traveled)
    return calculate_miles_traveled(miles_per_hour, hours)

验证结果

输入70.0(mph)和100.0(行驶分钟数),两种方法都会输出:

Miles: 116.666667

符合预期结果。

内容的提问来源于stack exchange,提问作者Thai Le

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 00:32:17