# python 定義一個(gè)函數(shù):能產(chǎn)生1-20之間指定的個(gè)
創(chuàng)新互聯(lián)于2013年開始,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站制作、網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元玉泉街道做網(wǎng)站,已為上家服務(wù),為玉泉街道各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18980820575
# 數(shù)的隨機(jī)數(shù)(隨機(jī)數(shù)要求保存到列表中),參數(shù)是隨機(jī)數(shù)的個(gè)數(shù)?
# 導(dǎo)入隨機(jī)庫(kù)
import random
# 生成空列表存放隨機(jī)生成的數(shù)據(jù)
list = []
def random_num():
"""生成隨機(jī)數(shù)
:param count: 生成隨機(jī)數(shù)的次數(shù)
:return: 生成好的隨機(jī)數(shù)列表
"""
count = int(input('請(qǐng)輸入指定生成隨機(jī)數(shù)數(shù)量:'))
# 循環(huán)隨即次數(shù)
for i in range(count):
# 隨機(jī)生成1-20內(nèi)任意一個(gè)數(shù)
number = random.randint(1, 20)
# 將生成的隨機(jī)數(shù)放進(jìn)列表最后
list.append(number)
return print("生成{}次\n生成列表:{}"
.format(count, list))
random_num()
import?random
list1?=?[]
for?i?in?range(20):
list1.append(random.random())
listL?=?sorted(list1[:10],reverse=False)
listR?=?sorted(list1[10:],reverse=True)
print(listL?+?listR)
第一步:
我分析如果從一堆數(shù)里隨機(jī)抽取幾個(gè),并且按原來的順序輸出的話,那么至少要隨機(jī)兩次才能完成,第一次隨機(jī)的值是確定隨機(jī)幾個(gè)數(shù),第二次隨機(jī)是確定隨機(jī)的值。
第二步:
隨機(jī)抽取幾個(gè)可以用random.randint(1,n)這個(gè)函數(shù)來實(shí)現(xiàn),這個(gè)n代表所要隨機(jī)列表的長(zhǎng)度。
第三步:
上一步出來一個(gè)數(shù)決定此次隨機(jī)出幾個(gè)值出來,現(xiàn)在假定是n,再次隨機(jī)就是從列表里隨機(jī)抽取n個(gè)值這個(gè)可以用random.sample(dict,n)這個(gè)方法實(shí)現(xiàn),這個(gè)函數(shù)可以傳入一個(gè)字典,和一個(gè)數(shù)字返回一個(gè)列表。
第四步:
得到的結(jié)果需要按原來的順序輸出,那么存儲(chǔ)就需要考慮用dict了,因?yàn)樽值涞膋-v特性可以實(shí)現(xiàn)找到原來的順序,我具體的實(shí)現(xiàn)如下:
import?random
#random_number(a)函數(shù)的功能傳入一個(gè)數(shù),返回1到這個(gè)數(shù)的隨機(jī)數(shù)
def?random_number(a):
return?random.randint(1,a)
#print(random_number(4))
#random_list(a,b)函數(shù)的功能,傳入一個(gè)字典a,和一個(gè)數(shù)值b,
#1=b=a的長(zhǎng)度,返回一個(gè)擁有b的個(gè)數(shù)值是a中的key值的list
def?random_list(a,b):
return?random.sample(list(a),b)
a={1:'a',2:'j',3:'g',4:'h',5:'k',6:'i',7:'l',8:'f',9:'v',10:'b',11:2,12:5,13:'x'}
b=len(a)
#print(random_list(a,b))
#random_dictvalue函數(shù)的功能,傳入一個(gè)字典a和一個(gè)列表b,返回以b為key,a中對(duì)應(yīng)的value的值
def?random_dictvalue(a,b):
b.sort()
for?i?in?b:
print(a.get(i),end='?')
print(random_dictvalue(a,random_list(a,random_number(b))))
#??result
================================?RESTART?================================
a?f?None
================================?RESTART?================================
g?i?None
================================?RESTART?================================
a?j?h?l?v?b?2?5?x?None