python隨機數生成(去重複) 排序

2021-08-20 03:45:04 字數 2160 閱讀 3842

用python語言隨機生成一萬個一到一百萬的整數,並且儲存十進位制和二進位制檔案,最後採用快速排序排序

#!d:/workplace/python

# -*- coding: utf-8 -*-

# @file : homework1.py

# @author: wangye

# @date : 2018/3/20

# @software: pycharm

# 大資料第一次作業

import os #作業系統

import struct #二進位制

import random #匯入隨機數包

os.chdir('c:\\users\\wy\\desktop')

def wf1():

unc= #存數已經出現的隨機數的列表

fb = open('bin.bin', 'w')#讀取二進位制檔案

f = open('test1.txt', 'w')#讀取檔案

xij=10000 #迴圈次數

#for i in range(1,xij): #迴圈一萬次

while(xij):

n = random.randint(1,1000000) #數字取值範圍

if (n in unc):

#xij=xij+1 #如果存在,跳出,迴圈次數不減

#xij=xij+1

continue

else:

bin = struct.pack('i', n) # 轉換二進位制

fb.write(str(bin)) # 寫入二進位制

f.write(str(n) + ',') # 寫入檔案

xij = xij - 1 #迴圈次數減一

f.close()

def wf2():

f = open('test1.txt', 'r')

x =

for filenum in f.readlines():

filenum=filenum.replace(","," ") #將,改為空格

filenum=filenum.split()#分詞

res=

for i in range(len(filenum)):

m=int(filenum[i]) #將剛讀出的lines中每個數字(str型的int)轉換為int,

res1=quick_sort(res,0,99)#快速排序

#res1=sorted(res)

f1 = open(('test2.txt'), 'w')

for i in range(0,len(res1)):

f1.write(str(res1[i]) + ',')#寫入新檔案

f.close()

def quick_sort(lists, left, right):

# 快速排序

if left >= right:

return lists

key = lists[left]

low = left

high = right

while left < right:

while left < right and lists[right] >= key:

right -= 1

lists[left] = lists[right]

while left < right and lists[left] <= key:

left += 1

lists[right] = lists[left]

lists[right] = key

quick_sort(lists, low, left - 1)

quick_sort(lists, left + 1, high)

return lists

wf1()

wf2()

執行結果截圖:

隨機數生成截圖:

排序之後截圖:

到此結束~

不重複隨機數生成

直接上 生成 0,total 的隨機數 最大隨機數 ilist private static ilistgetrandomsequence int total random random new random for var i listbase.count 1 i 0 i return listo...

python隨機數生成

python中的random模組用於生成隨機數。下面介紹一下random模組中最常用的幾個函式。random.random random.random 用於生成乙個0到1的隨機符點數 0 n 1.0 random.uniform random.uniform的函式原型為 random.uniform...

Python生成隨機數

import random import string 隨機整數 print random.randint 1,50 隨機選取0到100間的偶數 print random.randrange 0,101,2 隨機浮點數 print random.random print random.uniform...