[英]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.