zoukankan      html  css  js  c++  java
  • python 练习题- 文件取值排序

    题目:

     1 三个文件:txt1.txt、txt2.txt、txt3.txt
     2 1.取出txt1.txt中的第二列数据,
     3 2.取出txt2.txt中的第三列数据
     4 3.排序,从大到小(自己实现)
     5 4.写入 txt3.txt 中滴
     6 按照从大到小的顺序,写入3.txt中的第一列
     7 
     8 例:
     9 txt1.txt:
    10 aaa,234,1
    11 2,555,1111
    12 r44,9,2
    13 jjj,123,44
    14 
    15 txt2.txt:
    16 7?i?89
    17 rr?oo?33
    18 
    19 
    20 结果:
    21 txt3.txt:
    22 555
    23 234
    24 123
    25 89
    26 33
    27 9

    代码:

     1 # @Author  :whyCai
     2 # @Time    :2021/3/4 20:55
     3 
     4 
     5 '''
     6 三个文件:txt1.txt、txt2.txt、txt3.txt
     7 1.取出txt1.txt中的第二列数据,
     8 2.取出txt2.txt中的第三列数据
     9 3.排序,从大到小(自己实现)
    10 4.写入 txt3.txt 中滴
    11 按照从大到小的顺序,写入3.txt中的第一列
    12 
    13 例:
    14 txt1.txt:
    15 aaa,234,1
    16 2,555,1111
    17 r44,9,2
    18 jjj,123,44
    19 
    20 txt2.txt:
    21 7?i?89
    22 rr?oo?33
    23 
    24 
    25 结果:
    26 txt3.txt:
    27 555
    28 234
    29 123
    30 89
    31 33
    32 9
    33 '''
    34 
    35 from numpy import *
    36 
    37 #1取值
    38 def getFileStr(fileName,splitStr,num):
    39     '''
    40     获取指定的字符
    41     :param fileName: 文件名
    42     :param splitStr: 分割的字符
    43     :param num: 获取第几个数字
    44     :return: 
    45     '''
    46     fr = open(fileName)
    47     returnRes = []
    48     for line in fr.readlines():
    49         line = line.strip()
    50         lineSplit = line.split(splitStr)
    51         returnRes.append(lineSplit[num-1])
    52     return returnRes
    53 
    54 dataTxt1 = getFileStr("txt1.txt",',',2)
    55 dataTxt2 = getFileStr("txt2.txt",'?',3)
    56 dataTxt = dataTxt1 + dataTxt2
    57 
    58 #2排序
    59 def quickSort(list):
    60     '''
    61     快速排序
    62     :param list:
    63     :return:
    64     '''
    65     if len(list) <= 1:
    66         return list
    67     else:
    68         mid = int(list[0])
    69         litt = [x for x in list[1:] if int(x) < mid]
    70         big = [x for x in list[1:] if int(x) >= mid]
    71         return quickSort(big)+ [mid] + quickSort(litt)
    72 
    73 dataTxtEnd = quickSort(dataTxt)
    74 
    75 #3文件写入
    76 fileName = 'txt3.txt'
    77 with open(fileName, 'w') as fr:
    78     for i in dataTxtEnd:
    79         fr.write(str(i)+'
    ')

    参考博客:

    取值:https://www.cnblogs.com/zou107/p/11904371.html

    排序:https://www.cnblogs.com/huang-yc/p/9774287.html

  • 相关阅读:
    10款面向HTML5 画布(Canvas)的JavaScript库
    lufylegend库 LGraphics扭曲图片
    lufylegend库 LGraphics绘制图片
    lufylegend库 LGraphics
    lufylegend库 LBitmapData LBitmap LSprite
    Web骇客网;外刊IT评论
    HTML5画布(CANVAS)速查简表
    Canvas 画板
    Canvas 阴影效果
    Canvas 图片灰度
  • 原文地址:https://www.cnblogs.com/whycai/p/14483224.html
Copyright © 2011-2022 走看看