como escrever o resultado em f.write()
-
21-12-2019 - |
Pergunta
Eu escrevo um programa para classificar radix alguns números que estão em um arquivo.aqui está o meu código:
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()
Então, tentei conectar rsort() e rsort(a) em f.write(), mas continua me dizendo errado.e se eu deixar em branco, ele me diz que a função precisa leva exatamente 1 argumento.o que devo fazer para imprimir os resultados da classificação radix no arquivo radix.out?
Solução
Eu não olhei para a função rsort, pois sua pergunta parece ser sobre E/S e chamadas de funções em geral.Aqui está uma possibilidade (assumindo que os números estejam todos na primeira linha).
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()
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow