打卡第八天 | 豆包MarsCode AI刷题

128 阅读2分钟

说明:本篇笔记基于python语言写出

小M的奶酪问题

问题描述

小M在集市上买了一公斤奶酪回家。然而,在小M不在的时候,小F偷偷地偷走了 AB\frac{A}{B} 公斤的奶酪。现在,小M想知道他还剩下多少奶酪。要求答案以分数的形式表示,并且分数的分母必须为 BB

代码思路

由题可知,我们需要实现以下两点:

  1. 输入

    • A:小F偷走的奶酪的分子部分。
    • B:小F偷走的奶酪的分母部分。
  2. 输出

    • 剩余奶酪的分数形式,分母必须为 B

那么我们就需要从以下几个点来想:

  1. 理解问题

    • 初始奶酪的总量是1公斤。
    • 小F偷走了 A/B 公斤的奶酪。
    • 我们需要计算剩余的奶酪量,并以分数形式表示,分母为 B
  2. 计算剩余奶酪

    • 初始奶酪量是 1 公斤,即 B/B
    • 偷走的奶酪量是 A/B
    • 剩余的奶酪量是 B/B - A/B,即 (B - A)/B
  3. 输出格式

    • 将剩余的奶酪量表示为字符串 "分子/分母"

答案

来看看我的答案

    # 计算剩余的奶酪量
    remaining_cheese = (B - A) / B
    # 将剩余的奶酪量转换为分数形式
    result = f"{B - A}/{B}"
    return result

if __name__ == '__main__':
    print(solution(2, 7) == "5/7")
    print(solution(1, 3) == "2/3")
    print(solution(3, 5) == "2/5")

个人思考

做题时要考录到结果的形式,题目要求最终结果以分数形式表示,并且分母必须为 B。这意味着你需要确保输出的字符串格式为 "分子/分母",其中分子是 B - A,分母是 B

要使用字符串格式化来生成最终的输出。Python 提供了多种字符串格式化的方法,这里我们使用了 f-string 来简化代码。

总结

这道题主要运用了一下几个知识点,还需多多熟悉

1. 函数定义与参数传递

  • 函数定义:使用 def 关键字定义一个函数 solution,接受两个参数 A 和 B
  • 参数传递:函数参数 A 和 B 是整数类型,通过类型注解 int 来明确参数类型。

2. 数学运算

  • 分数计算:通过 (B - A) / B 计算剩余的奶酪量。这里涉及到基本的数学运算,包括减法和除法。

3. 字符串格式化

  • f-string:使用 f-string 格式化字符串,将计算结果转换为分数形式。例如,f"{B - A}/{B}" 将 B - A 作为分子,B 作为分母,生成字符串 "分子/分母"

4. 返回值

  • 返回字符串:函数 solution 返回一个字符串类型的结果,表示剩余奶酪的分数形式。