477. leetcode题目讲解(Python):在圆内随机生成点(Generate Random Point in a Circle )

题目如下:
题目

我们可以获取的信息为:圆心坐标(x,y),半径。 所以,我们可以取得随机点的坐标范围:

从图形上表示,我们可以获取一个正方形的范围,如下图所示:
正方形范围

因此通过random.uniform我们可以生成正方形内的随机点。但题目要求的是生成圆内的随机点, 于是生成随机点后可以通过点到圆心的距离来判断随机点是否在圆内,如果不在圆内,就抛弃该结果,重新生成。

参考代码如下:


欢迎关注微信公众号“苔原带”
邮箱