chore(i18n,learn): processed translations (#45504)
This commit is contained in:
@ -8,21 +8,78 @@ dashedName: arithmetic-formatter
|
||||
|
||||
# --description--
|
||||
|
||||
创建一个函数,该函数接收属一个字符串列表,每个字符串代表一个算数问题,并返回垂直并排排列的问题。
|
||||
你将[使用我们的 Replit 入门代码来完成这个项目](https://replit.com/github/freeCodeCamp/boilerplate-arithmetic-formatter)。
|
||||
|
||||
你可以[在 Replit 上查看整个项目的具体描述和初始代码](https://replit.com/github/freeCodeCamp/boilerplate-arithmetic-formatter)。
|
||||
# --instructions--
|
||||
|
||||
访问此链接后,fork 这个项目。 当你根据 “README.md” 中的说明完成了项目,请在下方提交你的项目链接。
|
||||
小学生经常把算术题垂直排列,这样更容易解决。 例如,“235 + 52” 变成:
|
||||
|
||||
我们仍在开发 Python 课程的交互式教学部分。 目前,freeCodeCamp.org YouTube 频道上的一些视频会教授你这个项目需要的所有技能。
|
||||
```py
|
||||
235
|
||||
+ 52
|
||||
-----
|
||||
```
|
||||
|
||||
<ul> <li>
|
||||
<a href='https://www.freecodecamp.org/news/python-for-everybody/'>Python for Everybody 视频课程</a>(14 小时)
|
||||
</li>
|
||||
<li>
|
||||
<a href='https://www.freecodecamp.org/news/learn-python-basics-in-depth-video-course/'>学习 Python 视频课程</a>(2 小时)
|
||||
</li>
|
||||
<ul>
|
||||
创建一个函数,接收一个属于算术问题的字符串列表,并返回垂直和并排排列的问题。 该函数应该接受可选的第二个参数。 当第二个参数设置为 `True` 时,应显示答案。
|
||||
|
||||
## 示例
|
||||
|
||||
函数调用:
|
||||
|
||||
```py
|
||||
arithmetic_arranger(["32 + 698", "3801 - 2", "45 + 43", "123 + 49"])
|
||||
```
|
||||
|
||||
输出:
|
||||
|
||||
```py
|
||||
32 3801 45 123
|
||||
+ 698 - 2 + 43 + 49
|
||||
----- ------ ---- -----
|
||||
```
|
||||
|
||||
函数调用:
|
||||
|
||||
```py
|
||||
arithmetic_arranger(["32 + 8", "1 - 3801", "9999 + 9999", "523 - 49"], True)
|
||||
```
|
||||
|
||||
输出:
|
||||
|
||||
```py
|
||||
32 1 9999 523
|
||||
+ 8 - 3801 + 9999 - 49
|
||||
---- ------ ------ -----
|
||||
40 -3800 19998 474
|
||||
```
|
||||
|
||||
## 规则
|
||||
|
||||
如果提供的问题格式正确,该函数将返回正确的转换,否则,它将 **返回** 一个 **字符串** 来描述对用户有意义的错误。
|
||||
|
||||
|
||||
- 会返回错误的情况:
|
||||
- 如果提供给函数的 **问题过多**。 限制为 **五个**,更多的将返回: `Error: Too many problems.`
|
||||
- 函数可以接受的运算符是 **加法** 和 **减法** 。 乘法和除法将返回错误。 本要点中未提及的其他运算符将不需要进行测试。 返回的错误将是: `Error: Operator must be '+' or '-'.`
|
||||
- 每个数字(操作数)应该只包含数字。 否则,该函数将返回: `Error: Numbers must only contain digits.`
|
||||
- 每个操作数(也就是运算符两侧的数字)的宽度最多为四位。 否则,返回的错误字符串将为: `Error: Numbers cannot be more than four digits.`
|
||||
- 如果用户提供了正确格式的问题,返回的转换将遵循以下规则:
|
||||
- 运算符和两个数中最长的一个之间应该有一个空格,运算符与第二个数在同一行,两个数的顺序与所提供的相同(第一个将是顶部的,而第二个将是底部。
|
||||
- 数字应该右对齐。
|
||||
- 每个问题之间应该有四个空格。
|
||||
- 每个问题的底部都应该有破折号。 破折号应该单独沿着每个问题的整个长度延伸。 (上面的例子展示了这应该是什么样子。)
|
||||
|
||||
## 开发
|
||||
|
||||
在 `arithmetic_arranger.py` 中编写你的代码。 对于开发,你可以使用 `main.py` 来测试你的 `arithmetic_arranger()` 函数。 单击“运行”按钮,`main.py` 将运行。
|
||||
|
||||
## 测试
|
||||
|
||||
这个项目的单元测试在 `test_module.py` 中。 为了你的方便,我们在 `main.py` 中从 `test_module.py` 运行测试。 只要你点击“运行”按钮,测试就会自动运行。 或者,你可以通过在控制台中输入 `pytest` 来运行测试。
|
||||
|
||||
## 提交
|
||||
|
||||
复制项目的 URL 并在下面提交。
|
||||
|
||||
# --hints--
|
||||
|
||||
|
@ -8,22 +8,80 @@ dashedName: budget-app
|
||||
|
||||
# --description--
|
||||
|
||||
创建一个 Category(类别) 类,该类可用于创建不同的预算类别。
|
||||
你将[使用我们的 Replit 入门代码来完成这个项目](https://replit.com/github/freeCodeCamp/boilerplate-budget-app)。
|
||||
|
||||
你可以[在 Replit 上查看整个项目的具体描述和初始代码](https://replit.com/github/freeCodeCamp/boilerplate-budget-app)。
|
||||
# --instructions--
|
||||
|
||||
访问此链接后,fork 这个项目。 当你根据 “README.md” 中的说明完成了项目,请在下方提交你的项目链接。
|
||||
完成 `budget.py` 中的 `Category` 类。 它应该能够根据不同的预算类别实例化对象,例如 *食物* 、 *服装* 和 *娱乐* 。 创建对象时,它们以类别的名称传递。 该类应该有一个名为 `ledger` 的实例变量,它是一个列表。 该类还应包含以下方法:
|
||||
|
||||
我们仍在开发 Python 课程的交互式教学部分。 目前,freeCodeCamp.org YouTube 频道上的一些视频将会教授你这个项目需要的所有技能。
|
||||
- 接受金额和描述的 `deposit` 方法。 如果没有给出描述,它应该默认为一个空字符串。 该方法应以 `{"amount": amount, "description": description}` 的形式将对象附加到账本列表。
|
||||
- `withdraw` 方法类似于 `deposit` 方法,但传入的金额应作为负数存储在分类帐中。 如果没有足够的资金,则不应向分类帐添加任何内容。 如果取款发生,此方法应返回 `True`,否则返回 `False`。
|
||||
- `get_balance` 方法,根据发生的存款和取款返回预算类别的当前余额。
|
||||
- 一个 `transfer` 方法,它接受一个金额和另一个预算类别作为参数。 该方法应添加带有金额和描述“Transfer to [目标预算类别]”的提款。 然后,该方法应将存款添加到其他预算类别,其金额和描述为“Transfer from [来源预算类别]”。 如果没有足够的资金,则不应向任一分类帐添加任何内容。 如果转账发生,此方法应返回 `True`,否则返回 `False`。
|
||||
- 接受金额作为参数的 `check_funds` 方法。 如果金额大于预算类别的余额,则返回 `False`,否则返回 `True`。 `withdraw` 方法和 `transfer` 方法都应该使用此方法。
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<a href='https://www.freecodecamp.org/news/python-for-everybody/'>Python for Everybody 视频课程</a>(14 小时)
|
||||
</li>
|
||||
<li>
|
||||
<a href='https://www.freecodecamp.org/news/learn-python-basics-in-depth-video-course/'>Learn Python 视频课程</a>(2 小时)
|
||||
</li>
|
||||
</ul>
|
||||
打印预算对象时,它应显示:
|
||||
|
||||
- 30 个字符的标题行,类别名称居中在一行 `*` 字符中。
|
||||
- 分类帐中的项目列表。 每行应显示描述和金额。 应显示描述的前 23 个字符,然后是金额。 金额应右对齐,包含两位小数,最多显示 7 个字符。
|
||||
- 一行显示类别总数。
|
||||
|
||||
下面是一个输出示例:
|
||||
|
||||
```bash
|
||||
*************Food*************
|
||||
initial deposit 1000.00
|
||||
groceries -10.15
|
||||
restaurant and more foo -15.89
|
||||
Transfer to Clothing -50.00
|
||||
Total: 923.96
|
||||
```
|
||||
|
||||
除了 `Category` 类之外,创建一个名为 `create_spend_chart` 的函数(在类之外),它将类别列表作为参数。 它应该返回一个作为条形图的字符串。
|
||||
|
||||
该图表应显示在传递给函数的每个类别中花费的百分比。 花费的百分比应该只计算取款而不是存款。 图表左侧应该是标签 0 - 100。 条形图中的“条”应由“o”字符组成。 每个条形的高度应四舍五入到最接近的 10。 条形图下面的水平线应该超过最后一个条形图再多两个空格。 每个类别名称应垂直写在栏下方。 顶部应该有一个标题,上面写着“Percentage spent by category”。
|
||||
|
||||
此功能将使用最多四个类别进行测试。
|
||||
|
||||
仔细查看下面的示例输出,并确保输出的间距与示例完全匹配。
|
||||
|
||||
```bash
|
||||
Percentage spent by category
|
||||
100|
|
||||
90|
|
||||
80|
|
||||
70|
|
||||
60| o
|
||||
50| o
|
||||
40| o
|
||||
30| o
|
||||
20| o o
|
||||
10| o o o
|
||||
0| o o o
|
||||
----------
|
||||
F C A
|
||||
o l u
|
||||
o o t
|
||||
d t o
|
||||
h
|
||||
i
|
||||
n
|
||||
g
|
||||
```
|
||||
|
||||
此项目的单元测试在 `test_module.py` 中。
|
||||
|
||||
## 开发
|
||||
|
||||
在 `budget.py` 中编写你的代码。 对于开发,你可以使用 `main.py` 来测试你的 `Category` 类。 单击“运行”按钮,`main.py` 将运行。
|
||||
|
||||
## 测试
|
||||
|
||||
为了你的方便,我们将测试从 `test_module.py` 导入到 `main.py`。 只要你点击“运行”按钮,测试就会自动运行。
|
||||
|
||||
## 提交
|
||||
|
||||
复制项目的 URL 并将其提交给 freeCodeCamp。
|
||||
|
||||
# --hints--
|
||||
|
||||
|
@ -8,26 +8,94 @@ dashedName: polygon-area-calculator
|
||||
|
||||
# --description--
|
||||
|
||||
你将通过使用我们的[Replit 入门代码](https://replit.com/github/freeCodeCamp/boilerplate-polygon-area-calculator)来完成本项目。
|
||||
|
||||
# --instructions--
|
||||
|
||||
在这个项目中,你将使用面向对象的编程来创建 Rectangle(矩形) 类和 Square(正方形) 类。 Square 类应该是 Rectangle 的子类,并继承方法和属性。
|
||||
|
||||
你可以[在 Replit 上查看整个项目的具体描述和初始代码](https://replit.com/github/freeCodeCamp/boilerplate-polygon-area-calculator)。
|
||||
## Rectangle 类
|
||||
|
||||
到达此链接后,fork 这个项目。 当你根据 “README.md” 中的说明完成了项目,请在下方提交你的项目链接。
|
||||
创建 Rectangle 对象时,应使用 `width` 和 `height` 属性对其进行初始化。 该类还应包含以下方法:
|
||||
|
||||
Python 课程的交互式教学部分仍在开发当中。 目前,freeCodeCamp.org YouTube 频道上的一些视频将会教授你这个项目需要的所有技能。
|
||||
- `set_width`
|
||||
- `set_height`
|
||||
- `get_area`:返回面积(`width * height`)
|
||||
- `get_perimeter`:返回周长(`2 * width + 2 * height`)
|
||||
- `get_diagonal`:返回对角线 (`(width ** 2 + height ** 2) ** .5`)
|
||||
- `get_picture`:返回一个字符串,该字符串使用包含“\*”的行来表示形状。 行数应等于高度,每行中“\*”的数量应等于宽度。 每行末尾应该有一个新行 (`\n`)。 如果宽度或高度大于 50,则应返回字符串:“Too big for picture.”。
|
||||
- `get_amount_inside`:以另一个形状(正方形或矩形)作为参数。 返回传入的形状可以装进该形状的次数(没有旋转)。 例如,一个宽为 4,高为 8 的矩形可以放入两个边长为 4 的正方形。
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<a href='https://www.freecodecamp.org/news/python-for-everybody/'>Python for Everybody 视频课程</a>(14 小时)
|
||||
</li>
|
||||
<li>
|
||||
<a href='https://www.freecodecamp.org/news/learn-python-basics-in-depth-video-course/'>Learn Python 视频课程</a>(2 小时)
|
||||
</li>
|
||||
</ul>
|
||||
另外,如果一个 Rectangle 实例被表示为一个字符串,它应该看起来像: `Rectangle(width=5, height=10)`
|
||||
|
||||
## Square 类
|
||||
|
||||
Square 类应该是 Rectangle 的子类。 创建 Square 对象时,传入单边长度。 `__init__` 方法应该在 Rectangle 类的 `width` 和 `height` 属性中存储边长。
|
||||
|
||||
Square 类应该能够访问 Rectangle 类方法,但还应该包含一个 `set_side` 方法。 如果 Square 的实例表示为字符串,则它应该如下所示:`Square(side=9)`
|
||||
|
||||
此外,Square 类的 `set_width` 和 `set_height` 方法应该设置宽度和高度。
|
||||
|
||||
## 使用示例
|
||||
|
||||
```py
|
||||
rect = shape_calculator.Rectangle(10, 5)
|
||||
print(rect.get_area())
|
||||
rect.set_height(3)
|
||||
print(rect.get_perimeter())
|
||||
print(rect)
|
||||
print(rect.get_picture())
|
||||
|
||||
sq = shape_calculator.Square(9)
|
||||
print(sq.get_area())
|
||||
sq.set_side(4)
|
||||
print(sq.get_diagonal())
|
||||
print(sq)
|
||||
print(sq.get_picture())
|
||||
|
||||
rect.set_height(8)
|
||||
rect.set_width(16)
|
||||
print(rect.get_amount_inside(sq))
|
||||
```
|
||||
|
||||
该代码应该返回:
|
||||
|
||||
```bash
|
||||
50
|
||||
26
|
||||
Rectangle(width=10, height=3)
|
||||
**********
|
||||
**********
|
||||
**********
|
||||
|
||||
81
|
||||
5.656854249492381
|
||||
Square(side=4)
|
||||
****
|
||||
****
|
||||
****
|
||||
****
|
||||
|
||||
8
|
||||
```
|
||||
|
||||
此项目的单元测试在 `test_module.py` 中。
|
||||
|
||||
## 开发
|
||||
|
||||
在 `shape_calculator.py` 中编写你的代码。 对于开发,你可以使用 `main.py` 来测试你的 `shape_calculator()` 函数。 单击“运行”按钮,`main.py` 将运行。
|
||||
|
||||
## 测试
|
||||
|
||||
为了你的方便,我们将测试从 `test_module.py` 导入到 `main.py`。 只要你点击“运行”按钮,测试就会自动运行。
|
||||
|
||||
## 提交
|
||||
|
||||
复制项目的 URL 并将其提交给 freeCodeCamp。
|
||||
|
||||
# --hints--
|
||||
|
||||
它应该创建一个 Rectangle 类和 Square 类并通过所有测试。
|
||||
应该创建一个 Rectangle 类和一个 Square 类,并通过所有测试。
|
||||
|
||||
```js
|
||||
|
||||
|
@ -8,24 +8,68 @@ dashedName: probability-calculator
|
||||
|
||||
# --description--
|
||||
|
||||
写一个程序来确定从帽子中随机拿取特定球的大致概率。
|
||||
你将通过使用我们的[Replit 入门代码](https://replit.com/github/freeCodeCamp/boilerplate-probability-calculator)来完成本项目。
|
||||
|
||||
你可以在 [Replit](https://replit.com/github/freeCodeCamp/boilerplate-probability-calculator) 上查看整个项目的具体描述和初始代码。 访问此链接后,fork 这个项目。 当你根据 “README.md” 中的说明完成了项目,请在下方提交你的项目链接。
|
||||
# --instructions--
|
||||
|
||||
我们仍在开发 Python 课程的交互式教学部分。 目前,freeCodeCamp.org YouTube 频道上的一些视频将会教授你这个项目需要的所有技能。
|
||||
假设有一顶帽子,里面有 5 个蓝球、4 个红球和 2 个绿球。 随机抽取的 4 个球中至少包含 1 个红球和 2 个绿球的概率是多少? 虽然可以使用高等数学来计算概率,但更简单的方法是编写一个程序来执行大量实验来估计近似概率。
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<a href='https://www.freecodecamp.org/news/python-for-everybody/'>Python for Everybody 视频课程</a>(14 小时)
|
||||
</li>
|
||||
<li>
|
||||
<a href='https://www.freecodecamp.org/news/learn-python-basics-in-depth-video-course/'>Learn Python 视频课程</a>(2 小时)
|
||||
</li>
|
||||
</ul>
|
||||
对于这个项目,你将编写一个程序来确定从帽子中随机抽取某些球的大致概率。
|
||||
|
||||
首先,在`prob_calculator.py` 中创建一个`Hat` 类。 该类应该采用可变数量的参数来指定帽子中每种颜色的球数。 例如,可以通过以下任何一种方式创建类对象:
|
||||
|
||||
```py
|
||||
hat1 = Hat(yellow=3, blue=2, green=6)
|
||||
hat2 = Hat(red=5, orange=4)
|
||||
hat3 = Hat(red=5, orange=4, black=1, blue=0, pink=2, striped=9)
|
||||
```
|
||||
|
||||
一顶帽子总是至少有一个球。 创建时传递给 hat 对象的参数应转换为 `contents` 实例变量。 `contents` 应该是一个字符串列表,其中包含帽子中每个球的一个项目。 列表中的每一项都应该是一个颜色名称,代表该颜色的单个球。 例如,如果你的帽子是 `{"red": 2, "blue": 1}`,`contents` 应该是 `["red", "red", "blue"]`。
|
||||
|
||||
`Hat` 类应该有一个 `draw` 方法,该方法接受一个参数,该参数指示要从帽子中抽取的球数。 此方法应该从 `contents` 中随机删除球,并将这些球作为字符串列表返回。 在抽取过程中球不应回到帽子中,类似于没有放回的黑盒实验。 如果要抽的球数量超过可用数量,则返回所有球。
|
||||
|
||||
接下来,在 `prob_calculator.py`(不是在 `Hat` 类中)创建一个 `experiment` 函数。 此函数应接受以下参数:
|
||||
|
||||
- `hat`:一个包含球的帽子对象,应该在函数内复制。
|
||||
- `expected_balls`:一个对象,指示尝试从帽子中抽取的确切球组以进行实验。 例如,要确定从帽子中抽取 2 个蓝球和 1 个红球的概率,将 `expected_balls` 设置为 `{"blue":2, "red":1}`。
|
||||
- `num_balls_drawn`:每次实验中从帽子中抽出的球数。
|
||||
- `num_experiments`:要执行的实验数量。 (进行的实验越多,近似概率就越准确。)
|
||||
|
||||
`experiment` 函数应该返回一个概率。
|
||||
|
||||
例如,假设你想确定当你从一个包含 6 个黑球、4 个红球和 3 个绿球的帽子中抽出 5 个球时,至少得到 2 个红球和 1 个绿球的概率。 为此,我们进行 `N` 次实验,记录其中我们至少得到 2 个红球和 1 个绿球的次数 `M`,并估计概率为`M/N`。 每个实验都包括从一顶装有指定球的帽子开始,抽取一些球,然后检查我们是否得到了我们想要得到的球。
|
||||
|
||||
以下是基于上面的示例调用 `experiment` 函数的方法,其中包含 2000 个实验:
|
||||
|
||||
```py
|
||||
hat = Hat(black=6, red=4, green=3)
|
||||
probability = experiment(hat=hat,
|
||||
expected_balls={"red":2,"green":1},
|
||||
num_balls_drawn=5,
|
||||
num_experiments=2000)
|
||||
```
|
||||
|
||||
由于这是基于随机抽取的,因此每次运行代码时概率会略有不同。
|
||||
|
||||
*提示:考虑使用已经在 `prob_calculator.py` 顶部导入的模块。 不要在 `prob_calculator.py` 中初始化随机种子。*
|
||||
|
||||
## 开发
|
||||
|
||||
在 `prob_calculator.py` 中编写你的代码。 对于开发,你可以使用 `main.py` 来测试你的代码。 单击“运行”按钮,`main.py` 将运行。
|
||||
|
||||
样板文件包括 `copy` 和 `random` 模块的 `import` 语句。 考虑在你的项目中使用它们。
|
||||
|
||||
## 测试
|
||||
|
||||
这个项目的单元测试在 `test_module.py` 中。 为了你的方便,我们将测试从 `test_module.py` 导入到 `main.py`。 只要你点击“运行”按钮,测试就会自动运行。
|
||||
|
||||
## 提交
|
||||
|
||||
复制项目的 URL 并将其提交给 freeCodeCamp。
|
||||
|
||||
# --hints--
|
||||
|
||||
它应该能正确地计算概率并通过所有测试。
|
||||
它应该能正确地计算概率,并通过所有测试。
|
||||
|
||||
```js
|
||||
|
||||
|
@ -8,24 +8,61 @@ dashedName: time-calculator
|
||||
|
||||
# --description--
|
||||
|
||||
编写一个名为 “add_time” 的函数,该函数可以将一段时间添加到一个开始时间中,并返回结果。
|
||||
你将通过使用我们的[Replit 入门代码](https://replit.com/github/freeCodeCamp/boilerplate-time-calculator)来完成本项目。
|
||||
|
||||
你可以 [在 Replit 上查看整个项目的具体描述和初始代码](https://replit.com/github/freeCodeCamp/boilerplate-time-calculator)。 访问此链接后,fork 这个项目。 当你根据 “README.md” 中的说明完成了项目,请在下方提交你的项目链接。
|
||||
# --instructions--
|
||||
|
||||
我们仍在开发 Python 课程的交互式教学部分。 目前,freeCodeCamp.org YouTube 频道上的一些视频将会教授你这个项目需要的所有技能。
|
||||
编写一个名为 `add_time` 的函数,它接受两个必需参数和一个可选参数:
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<a href='https://www.freecodecamp.org/news/python-for-everybody/'>Python for Everybody 视频课程</a>(14 小时)
|
||||
</li>
|
||||
<li>
|
||||
<a href='https://www.freecodecamp.org/news/learn-python-basics-in-depth-video-course/'>Learn Python 视频课程</a>(2 小时)
|
||||
</li>
|
||||
</ul>
|
||||
- 12 小时制的开始时间(以 AM 或 PM 结束)
|
||||
- 指示小时数和分钟数的持续时间
|
||||
- (可选)一周的开始日期,不区分大小写
|
||||
|
||||
该函数应将持续时间添加到开始时间并返回结果。
|
||||
|
||||
如果结果是第二天,它应该在时间之后显示 `(next day)`。 如果结果将超过一天以后,它应该在时间后面显示 `(n days later)`,其中 "n "是之后的天数。
|
||||
|
||||
如果给函数提供了可选的开始日期的星期参数,则输出应显示结果的星期几。 输出中的星期几应出现在时间之后和天数之前。
|
||||
|
||||
以下是函数应处理的不同情况的一些示例。 请注意结果的间距和标点符号。
|
||||
|
||||
```py
|
||||
add_time("3:00 PM", "3:10")
|
||||
# Returns: 6:10 PM
|
||||
|
||||
add_time("11:30 AM", "2:32", "Monday")
|
||||
# Returns: 2:02 PM, Monday
|
||||
|
||||
add_time("11:43 AM", "00:20")
|
||||
# Returns: 12:03 PM
|
||||
|
||||
add_time("10:10 PM", "3:30")
|
||||
# Returns: 1:40 AM (next day)
|
||||
|
||||
add_time("11:43 PM", "24:20", "tueSday")
|
||||
# Returns: 12:03 AM, Thursday (2 days later)
|
||||
|
||||
add_time("6:30 PM", "205:12")
|
||||
# Returns: 7:42 AM (9 days later)
|
||||
```
|
||||
|
||||
不要导入任何 Python 库。 假设开始时间是有效时间。 持续时间中的分钟将是小于 60 的整数,但小时可以是任何整数。
|
||||
|
||||
## 开发
|
||||
|
||||
在 `time_calculator.py` 中编写你的代码。 对于开发,你可以使用 `main.py` 来测试你的 `time_calculator()` 函数。 单击“运行”按钮,`main.py` 将运行。
|
||||
|
||||
## 测试
|
||||
|
||||
这个项目的单元测试在 `test_module.py` 中。 为了你的方便,我们将测试从 `test_module.py` 导入到 `main.py`。 只要你点击“运行”按钮,测试就会自动运行。
|
||||
|
||||
## 提交
|
||||
|
||||
复制项目的 URL 并将其提交给 freeCodeCamp。
|
||||
|
||||
# --hints--
|
||||
|
||||
它应该能正确地添加时间并通过所有测试。
|
||||
它应该能正确地添加时间,并通过所有测试。
|
||||
|
||||
```js
|
||||
|
||||
|
Reference in New Issue
Block a user