Come scrivere il risultato in f.write ()
-
21-12-2019 - |
Domanda
Scrivo un programma per radix Ordina alcuni numeri che si trova in un file. Ecco il mio codice:
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()
.
Allora, ho provato a collegare RSORT () e RSORT (A) nel f.write (), continua a dirmi male.E se lo lascio vuoto, mi dice che la funzione ha bisogno di prendere esattamente 1 argomento.Cosa dovrei fare per stampare i risultati del radix Ordina nel radix File.out?
Soluzione
Non ho guardato la funzione di Rsort in quanto la tua domanda sembra essere su I / O e funzioni che chiamano in generale.Ecco la possibilità (supponendo che i numeri siano tutti sulla prima riga).
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()
. Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow