当前位置:   article > 正文

python随机数生成(去重复)+排序_pycharm生成n个1-10之间的随机整数(n<=10),对于重复的数字,只保留一个, 把其余相

pycharm生成n个1-10之间的随机整数(n<=10),对于重复的数字,只保留一个, 把其余相

python语言随机生成一万个一到一百万的整数,并且保存十进制和二进制文件,最后采用快速排序排序

  1. #!D:/workplace/python
  2. # -*- coding: utf-8 -*-
  3. # @File : homework1.py
  4. # @Author: WangYe
  5. # @Date : 2018/3/20
  6. # @Software: PyCharm
  7. # 大数据第一次作业
  8. import os #操作系统
  9. import struct #二进制
  10. import random #导入随机数包
  11. os.chdir('C:\\Users\\wy\\Desktop')
  12. def wf1():
  13. unc=[] #存数已经出现的随机数的列表
  14. fb = open('bin.bin', 'w')#读取二进制文件
  15. f = open('test1.txt', 'w')#读取文件
  16. xij=10000 #循环次数
  17. #for i in range(1,xij): #循环一万次
  18. while(xij):
  19. n = random.randint(1,1000000) #数字取值范围
  20. #unc.append(n)
  21. if (n in unc):
  22. #xij=xij+1 #如果存在,跳出,循环次数不减
  23. #xij=xij+1
  24. continue
  25. else:
  26. unc.append(n)
  27. bin = struct.pack('i', n) # 转换二进制
  28. fb.write(str(bin)) # 写入二进制
  29. f.write(str(n) + ',') # 写入文件
  30. xij = xij - 1 #循环次数减一
  31. f.close()
  32. def wf2():
  33. f = open('test1.txt', 'r')
  34. x = []
  35. for filenum in f.readlines():
  36. filenum=filenum.replace(","," ") #将,改为空格
  37. filenum=filenum.split()#分词
  38. res=[]
  39. for i in range(len(filenum)):
  40. m=int(filenum[i]) #将刚读出的lines中每个数字(str型的int)转换为int,
  41. res.append(m)#写入新的列表
  42. res1=quick_sort(res,0,99)#快速排序
  43. #res1=sorted(res)
  44. f1 = open(('test2.txt'), 'w')
  45. for i in range(0,len(res1)):
  46. f1.write(str(res1[i]) + ',')#写入新文件
  47. f.close()
  48. def quick_sort(lists, left, right):
  49. # 快速排序
  50. if left >= right:
  51. return lists
  52. key = lists[left]
  53. low = left
  54. high = right
  55. while left < right:
  56. while left < right and lists[right] >= key:
  57. right -= 1
  58. lists[left] = lists[right]
  59. while left < right and lists[left] <= key:
  60. left += 1
  61. lists[right] = lists[left]
  62. lists[right] = key
  63. quick_sort(lists, low, left - 1)
  64. quick_sort(lists, left + 1, high)
  65. return lists
  66. wf1()
  67. wf2()

运行结果截图:

随机数生成截图:


排序之后截图:


到此结束~

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/54850
推荐阅读
相关标签
  

闽ICP备14008679号