我已经被这个Python家庭作业问题困扰了一段时间:“编写一个完整的Python程序,从一个文件中读取20个实数内部.txt并将它们按排序顺序输出到文件中外挂.txt“。”
好吧,我要做的是:
f=open('inner.txt','r')
n=f.readlines()
n.replace('\n',' ')
n.sort()
x=open('outter.txt','w')
x.write(print(n))
所以我的思考过程是:打开文本文件,n是其中读取行的列表,我替换其中的所有换行提示,以便对其进行正确排序,然后打开要写入的文本文件并将列表打印到其中。第一个问题是它不允许我替换新行函数,第二个问题是我不能将列表写入文件。在
我猜
real
意思是浮动。所以你必须把结果转换成float来正确排序。在那你得整理一下。要写回结果,必须转换为字符串并用行尾连接:
^{pr2}$最后你必须把结果写到目的地。在
我刚试过这个:
因此,您不必像那样过滤掉
"\n"
,而可以将其放入int()
中,将其转换为整数。假设每行有一个数,它们都是整数。在然后需要将每个值存储到一个列表中。列表有一个^{} method ,可用于对列表进行排序。在
编辑: 忘记了,正如其他人已经说过的,您需要迭代
n
中的值,因为它是一个列表,而不是一个单独的项。在以下是一个逐步解决方案,可以解决您遇到的问题:)
打开文件,这里没问题。在
别忘了关闭文件:
f.close()
^{pr2}$n
现在是每行的列表:没有
list.replace
方法,因此我建议将上面的行改为n = f.read()
。然后,这将起作用(不要忘记重新分配n
,因为字符串是不可变的):你仍然只有一串数字。但是,我建议使用换行符作为分隔符拆分字符串,而不是替换换行符:
n = n.split('\n')
然后,将这些字符串转换为整数:
现在,这两个将起作用:
你想自己写数字,所以用这个:
最后,关闭文件:
x.close()
在处理文件时,使用上下文管理器(
with
语句)也是一种很好的做法:相关问题 更多 >
编程相关推荐