求助:如何实现带参数验证与默认值的Python score_input()函数?
解决方案
以下是符合要求的score_input()函数实现:
def score_input(test_name, test_score=-1, invalid_message='Invalid test score!'): # 验证分数是否在0到100的有效范围内 if 0 <= test_score <= 100: return f"{test_name}: {test_score}" else: return f"{test_name}: {invalid_message}"
代码说明
test_name作为第一个参数,属于必填项,无需额外验证,满足要求1;test_score设置默认值为-1,通过0 <= test_score <= 100判断分数是否在有效区间,满足要求2和4;invalid_message设置默认值为'Invalid test score!',满足要求3;- 验证通过时返回包含测试名称与分数的字符串,不通过则返回测试名称与自定义错误信息,满足要求5。
测试示例
# 有效分数场景 print(score_input("数学", 85)) # 输出:数学: 85 # 使用默认分数(无效)场景 print(score_input("英语")) # 输出:英语: Invalid test score! # 无效分数+自定义错误信息场景 print(score_input("物理", 105, "分数必须在0-100之间!")) # 输出:物理: 分数必须在0-100之间! # 负数分数场景 print(score_input("化学", -5)) # 输出:化学: Invalid test score!
内容的提问来源于stack exchange,提问作者user20187573
相关产品推荐
相关产品推荐

