扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
难度:★★☆☆☆
目前创新互联公司已为成百上千的企业提供了网站建设、域名、雅安服务器托管、网站改版维护、企业网站设计、富川网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
类型:几何
方法:拒绝采样
力扣链接请移步 本题传送门
更多力扣中等题的解决方案请移步 力扣中等题目录
给定圆的半径和圆心的 x、y 坐标,写一个在圆中产生均匀随机点的函数 randPoint 。
说明:
输入值和输出值都将是浮点数。
圆的半径和圆心的 x、y 坐标将作为参数传递给类的构造函数。
圆周上的点也认为是在圆中。
randPoint 返回一个包含随机点的x坐标和y坐标的大小为2的数组。
示例 1:
输入:
["Solution","randPoint","randPoint","randPoint"]
[[1,0,0],[],[],[]]
输出: [null,[-0.72939,-0.65505],[-0.78502,-0.28626],[-0.83119,-0.19803]]
示例 2:
输入:
["Solution","randPoint","randPoint","randPoint"]
[[10,5,-7.5],[],[],[]]
输出: [null,[11.52438,-8.33273],[2.46992,-16.21705],[11.13430,-12.42337]]
输入语法说明:
输入是两个列表:调用成员函数名和调用的参数。Solution 的构造函数有三个参数,圆的半径、圆心的 x 坐标、圆心的 y 坐标。randPoint 没有参数。输入参数是一个列表,即使参数为空,也会输入一个 [] 空列表。
我们在以圆心为中心,以二倍半径为边长的正方形内部进行随机选点,当点落在圆内或者圆上时,满足条件,返回该点。
我们可以把上面的直角坐标变换为极坐标,随机的选取角度和半径,生成的点一定在圆上或者圆内。这里需要注意,由于在平面维度是均匀采样的,生成随机半径时需要对结果开方。
如有疑问或建议,欢迎评论区留言~
有关更多力扣中等题的python解决方案,请移步 力扣中等题解析
思路:1、定义一个字典,把名字和数字对应起来;2、引用随机模块;3、输入要点名的个数,通过循环输出名字。
具体代码如下:
# -*- coding:utf-8 -*-
from random import randint
DictName = {1: 'Aaron',
2: 'Abel',
3: 'Abraham',
4: 'Adam',
5: 'Adrian',
6: 'Alva',
7: 'Alex',
8: 'Alexander',
9: 'Alan',
10: 'Albert',
11: 'Alfred',
12: 'Andrew',
13: 'Andy',
14: 'Angus',
15: 'Anthony',
16: 'Arthur',
17: 'Austin',
18: 'Ben',
19: 'Benson',
20: 'Bill',
21: 'Bob',
22: 'Brandon',
23: 'Brant',
24: 'Brent',
25: 'Brian',
26: 'Bruce',
27: 'Carl',
28: 'Cary',
29: 'Caspar',
30: 'Charles',
31: 'Cheney',
32: 'Chris',
33: 'Christian',
34: 'Christopher',
35: 'Colin',
36: 'Cosmo',
37: 'Daniel',
38: 'Dennis',
39: 'Derek',
40: 'Donald',
41: 'Douglas',
42: 'David',
43: 'Denny',
44: 'Edgar',
45: 'Edward',
46: 'Edwin',
47: 'Elliott',
48: 'Elvis',
49: 'Eric',
50: 'Evan',
51: 'Francis',
52: 'Frank',
53: 'Franklin',
54: 'Fred',
55: 'Gabriel',
56: 'Gaby',
57: 'Garfield',
58: 'Gary'}
Num = raw_input('请输入需要点名个数:')
flag = True
while flag:
if Num.isdigit():
Ind = int(Num)
flag = False
else:
print '输入错误,请确认'
else:
for i in range(Ind):
print DictName[randint(1,58)]
运行结果:
请输入需要点名个数:4
Brant
Cheney
David
Alan
在Python中,random模块用于生成随机数。下面介绍下random模块中常用的几个函数
01
打开我们python的ide
02
在打开的shell中,首先需要导入random库,才可以使用random中的方法,首先介绍下应用最多的函数,random.random(),可以生成一个0到1的随机符点数
03
random.uniform(a,b)函数,生成指定范围内的随机符点数,如下图
04
random.randint(a,b)函数,生成一个指定范围内的整数,如下图
05
random.choice(sqe)函数,从sqe序列中得到一个随机元素,如下图,序列元素可以包含很多种类,集合,列表,甚至元组都可以作为参数进行传递
python中的randint用来生成随机数,在使用randint之前,需要调用random库。其表达是为random.randint(x,y),参数x和y代表生成随机数的区间范围。
random() 函数命名来源于英文单词random(随机)。randint是random + integer拼接简写而成,代表随机一个整数。
Python标准库中的random函数,可以生成随机浮点数、整数、字符串,甚至帮助你随机选择列表序列中的一个元素,打乱一组数据等。
函数randint的使用
1、OUT = RANDINT
产生一个“ 0 ”或“ 1 ”等概率。
2、OUT = RANDINT(M)
生成的M 矩阵的随机二进制数字,“ 0 ”和“ 1 ”出现的概率均等。
3、OUT = RANDINT(M,N)
生成的(M,N) 矩阵的随机二进制数字,“ 0 ”和“ 1 ”出现的概率均等。
4、OUT = RANDINT(M,N,RANGE)
生成的(M,N) 矩阵的随机二进制数字,RANGE范围可以是标量或向量。
标量:为正的话,取值为[0,RANGE-1] ,为负的话,取值为 [RANGE+1, 0]。
向量:取值为[RANGE(1), RANGE(2)]。
5、OUT = RANDINT(M,N,RANGE,STATE)
resets the state of RAND to STATE。
python中定义函数名称不是随机的。
python中定义函数名称:函数名由数字下划线字母组成,数字不可以当做开头。函数名不可以是关键词。函数在命名时要遵循见名知其意原则,因此函数名称不是随机的。
函数是指一段可以直接被另一段程序或代码引用的程序或代码。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流