Python编写over_kmph_limit函数判断车速是否超公里限速求助
现有代码的问题
- 两次尝试都加入了不必要的
for循环:题目明确输入是单个正数值,不需要遍历序列 - 第一次尝试的错误点:
range()返回的是单个整数的可迭代对象,无法同时赋值给x,y两个变量,运行会直接报错- 错把
print写成大写开头的Print,Python语法不识别 - 函数要求返回布尔值
True/False,不是打印字符串
- 第二次尝试的错误点:
- 函数只定义了1个参数,不符合题目要求接收2个参数的规则
- 循环逻辑无意义,且最终返回的是转换后的速度数值,不是要求的布尔结果
正确实现
核心逻辑:先把英里速度转为公里速度,再直接和限速比较,返回比较结果即可:
def over_kmph_limit(mph_speed, kmph_limit): # 1英里≈1.61公里,将mph转为kmph converted_kmph = mph_speed * 1.61 # 比较表达式直接返回True/False return converted_kmph > kmph_limit
测试用例验证
运行over_kmph_limit(30, 40):
30mph转换后为30*1.61=48.3kmph,48.3>40,最终返回True,符合预期。
内容的提问来源于stack exchange,提问作者ssatoru
相关产品推荐
相关产品推荐

