python是完全面向?qū)ο蟮?,因此所有的?shù)據(jù)都是對象
成都服務(wù)器托管,創(chuàng)新互聯(lián)建站提供包括服務(wù)器租用、珉田數(shù)據(jù)中心、帶寬租用、云主機、機柜租用、主機租用托管、CDN網(wǎng)站加速、主機域名等業(yè)務(wù)的一體化完整服務(wù)。電話咨詢:18982081108
random.random()生成0和1之間的隨機浮點數(shù)float,它其實是一個隱藏的random.random類的實例的random方法。
random.random()
生成random模塊里得random類的一個實例,這個實例不會和其他random實例共享狀態(tài),一般是在多線程的情況下使用。
import?random
import?numpy?as?np
List?=?np.array([(0,0),(1,1),(1.6,1.8),(3,3)])
d?=?0.5
def?get_random(low,high):
return((high-low)*random.random()+low)
n?=?0
while?n100000:
x?=?get_random(0,3)
y?=?get_random(0,3)
rand_tuple?=?np.array([x,y])
tmp_dist?=?np.sqrt(np.sum(np.square(List-rand_tuple),axis?=?1))
tmp_dist_bool?=?tmp_dist?=?d
if?np.sum(tmp_dist_bool)?==?len(List):
print(x,y)
break
n?+=?1
if?n==100000:
print("After",n,"tries,can't?get?a?random?point!Check?whether?the?problem?has?a?solution!")
根據(jù)x**2+z**2==25
所以你的x,z?不可能是帶小數(shù)的
只能是整數(shù)或者整數(shù)的浮點數(shù)
例如?3.0**2+4.0**2=25?或者3**2+4**2=25
并且?0.0=x=5.0?,0.0=z=5.0
#?!?usr/bin/python
#?-*-?coding:utf-8?-*-
#?python?2.7
import?random
a,b,c,d?=?0,5,0,5
x?=?random.randint(a,?b)
z?=?random.randint(c,?d)
while?x**2+z**2??25:
x?=?random.randint(a,?b)
z?=?random.randint(c,?d)
print?x,z
y?=?random.randint(11,?20)#?自定義y的范圍
print?(float(x),float(y),float(z))
難度:★★☆☆☆
類型:幾何
方法:拒絕采樣
力扣鏈接請移步 本題傳送門
更多力扣中等題的解決方案請移步 力扣中等題目錄
給定圓的半徑和圓心的 x、y 坐標,寫一個在圓中產(chǎn)生均勻隨機點的函數(shù) randPoint 。
說明:
輸入值和輸出值都將是浮點數(shù)。
圓的半徑和圓心的 x、y 坐標將作為參數(shù)傳遞給類的構(gòu)造函數(shù)。
圓周上的點也認為是在圓中。
randPoint 返回一個包含隨機點的x坐標和y坐標的大小為2的數(shù)組。
示例 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]]
輸入語法說明:
輸入是兩個列表:調(diào)用成員函數(shù)名和調(diào)用的參數(shù)。Solution 的構(gòu)造函數(shù)有三個參數(shù),圓的半徑、圓心的 x 坐標、圓心的 y 坐標。randPoint 沒有參數(shù)。輸入?yún)?shù)是一個列表,即使參數(shù)為空,也會輸入一個 [] 空列表。
我們在以圓心為中心,以二倍半徑為邊長的正方形內(nèi)部進行隨機選點,當點落在圓內(nèi)或者圓上時,滿足條件,返回該點。
我們可以把上面的直角坐標變換為極坐標,隨機的選取角度和半徑,生成的點一定在圓上或者圓內(nèi)。這里需要注意,由于在平面維度是均勻采樣的,生成隨機半徑時需要對結(jié)果開方。
如有疑問或建議,歡迎評論區(qū)留言~
有關(guān)更多力扣中等題的python解決方案,請移步 力扣中等題解析
python 3
import itertools
list(itertools.product(range(1, 6), range(1, 4)))
如果需要隨機的話,直接隨機產(chǎn)生以上list里的index
import random
n = 5
random_list = list(itertools.product(range(1, 6), range(1, 4)))
random.sample(random_list, n)
本文名稱:python隨機坐標函數(shù) python定義坐標
URL標題:http://muchs.cn/article38/hhejsp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、網(wǎng)站制作、動態(tài)網(wǎng)站、App開發(fā)、網(wǎng)站維護、App設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)