同分母分数求和函数实现及现有代码报错问题咨询
问题排查与分数求和函数实现
需求说明
编写一个接收两个字符串类型同分母分数参数的函数,返回求和表达式与结果。示例:
>> a_b = '1/3' >> c_b = '5/3' >> get_fractions(a_b, c_b)
'1/3 + 5/3 = 6/3'
错误代码问题分析
你提供的代码无法运行,核心问题如下:
- 直接将
'1/3'这类含/的字符串转换为int会触发ValueError,因为该字符串不是合法的整数格式。 - 函数返回类型标注为
str,但代码返回的是整数,类型不匹配。 - 未对分数的分子、分母进行拆分处理,同分母分数求和的逻辑是分子相加,分母保持不变,必须先拆分出分子和分母才能计算。
正确实现代码
def get_fractions(a_b: str, c_b: str) -> str: # 拆分两个分数的分子与分母 num1, den = a_b.split('/') num2, _ = c_b.split('/') # 计算求和后的分子(题目保证同分母,无需处理分母不一致情况) sum_num = int(num1) + int(num2) # 按要求拼接表达式与结果字符串 return f"{a_b} + {c_b} = {sum_num}/{den}"
测试验证
a_b = '1/3' c_b = '5/3' print(get_fractions(a_b, c_b)) # 输出:1/3 + 5/3 = 6/3
内容的提问来源于stack exchange,提问作者Argosh
相关产品推荐
相关产品推荐

