簡體   English   中英

如何在f.write()中寫入結果

[英]how to write result in f.write()

我編寫了一個用於對基數進行排序的程序,該程序對文件中的一些數字進行排序。 這是我的代碼:

rsort(a):
    if a:
        bins = [ [],[],[],[],[],[],[],[],[],[] ]
        m = max(a)
        r = 1
        while m > r:
            for e in a:
                bins[(e/r)%10].append(e)
            r = r * 10
            a = []
            for i in range(10):
                a.extend(bins[i])
                bins[i] = []
        return a

def readfile(infile):
  grid = []
  f = open(infile, 'r')
  lines = f.readlines()
  f.close()
  return grid

def writefile(outfile):
    grid = []
    f = open(outfile, 'w')
    f.write()
    f.close
    return grid

def main():
    infile = readfile("radix.in")
    outfile = writefile("radix.out")
    sortedvar = rsort(infile)
main()

因此,我嘗試在f.write()中插入rsort()和rsort(a),這總是告訴我錯誤。 如果我將其保留為空,它告訴我函數需求恰好帶有1個參數。 我應該如何在文件radix.out中打印基數排序結果?

我根本沒有看過rsort函數,因為您的問題似乎與I / O和函數調用有關。 這是一種可能性(假設數字全部在第一行)。

def readfile(infile):
  nums = []
  f = open(infile, "r")
  line = f.readline()
  f.close()
  return [int(x) for x in line.split()]

def writefile(outfile, nums):
    f = open(outfile, 'w')
    f.write(' '.join([str(x) for x in nums]))
    f.write('\n')
    f.close()

def main():
    nums = readfile("radix.in")
#    nums = rsort(nums)
    writefile("radix.out", nums)

main()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM