是否有 Python 模块或内置函数可以帮助我编写此程序?
Is there a Python module or built-in function that will help me write this program?
我正在 Exercism 网站上做一个练习,但我对如何开始这个练习有点困惑。我不需要任何详细的答案;我只是在寻找如何开始的正确方向的推动力。当给定一组 (x, y) 坐标时,我想知道是否有任何特定的 Python 模块、函数等可以帮助我找出该点落在网格上的位置,尤其是在与网格上以 (0, 0) 为中心的圆的关系。
我希望这更符合我的要求!我在编写程序时没有遇到任何特别的问题(但是!),但我什至不知道如何开始,因为我不确定我是否需要从头开始编写一个函数来解决上述所有问题,或者如果 Python 已经有可以帮助完成此特定任务的东西。
谢谢!
Write a function that returns the earned points in a single toss of a Darts game.
Darts is a game where players throw darts to a target.
In our particular instance of the game, the target rewards with 4 different amounts of points, depending on where the dart lands:
If the dart lands outside the target, player earns no points (0 points).
If the dart lands in the outer circle of the target, player earns 1 point.
If the dart lands in the middle circle of the target, player earns 5 points.
If the dart lands in the inner circle of the target, player earns 10 points.
The outer circle has a radius of 10 units (This is equivalent to the total radius for the entire target), the middle circle a radius of 5 units, and the inner circle a radius of 1. Of course, they are all centered to the same point (That is, the circles are concentric) defined by the coordinates (0, 0).
Write a function that given a point in the target (defined by its real cartesian coordinates x and y), returns the correct amount earned by a dart landing in that point.
解决这个问题的一种方法是使用毕达哥拉斯定理来计算飞镖和中心之间的距离。
r = math.sqrt(x*x+y*y)
这将为您提供飞镖与目标中心之间的距离。
我正在 Exercism 网站上做一个练习,但我对如何开始这个练习有点困惑。我不需要任何详细的答案;我只是在寻找如何开始的正确方向的推动力。当给定一组 (x, y) 坐标时,我想知道是否有任何特定的 Python 模块、函数等可以帮助我找出该点落在网格上的位置,尤其是在与网格上以 (0, 0) 为中心的圆的关系。
我希望这更符合我的要求!我在编写程序时没有遇到任何特别的问题(但是!),但我什至不知道如何开始,因为我不确定我是否需要从头开始编写一个函数来解决上述所有问题,或者如果 Python 已经有可以帮助完成此特定任务的东西。
谢谢!
Write a function that returns the earned points in a single toss of a Darts game.
Darts is a game where players throw darts to a target.
In our particular instance of the game, the target rewards with 4 different amounts of points, depending on where the dart lands:
If the dart lands outside the target, player earns no points (0 points).
If the dart lands in the outer circle of the target, player earns 1 point.
If the dart lands in the middle circle of the target, player earns 5 points.
If the dart lands in the inner circle of the target, player earns 10 points.
The outer circle has a radius of 10 units (This is equivalent to the total radius for the entire target), the middle circle a radius of 5 units, and the inner circle a radius of 1. Of course, they are all centered to the same point (That is, the circles are concentric) defined by the coordinates (0, 0).
Write a function that given a point in the target (defined by its real cartesian coordinates x and y), returns the correct amount earned by a dart landing in that point.
解决这个问题的一种方法是使用毕达哥拉斯定理来计算飞镖和中心之间的距离。
r = math.sqrt(x*x+y*y)
这将为您提供飞镖与目标中心之间的距离。