我知道有类似的帖子。但它们似乎都没有处理来自文件输入库的输入。我最大的问题是我不知道如何处理从for循环生成的每个line
而不分配临时变量。
我正在做一个代码练习问题,其中要求是“编写一个函数来交换两个数字而不使用任何临时变量”。
我给出的用于启动问题的代码是:
import fileinput
import sys
for line in fileinput.input():
我知道在python中,交换数字可以像x,y = y,x
一样简单,或者它可以是:
x = x^y
y = x^y
x = x^y
但是如果没有分配x
或y
,我怎么能这样做呢?
到目前为止我的解决方案是:
import fileinput
import sys
l = []
for line in fileinput.input():
l.append(line)
l = l[::-1]
for e in l:
print(e)
但我不确定我是否通过引入l
违反了规则。
输入示例:
5
10
预期产量:
10
5
这适合我。他们没有说不写一个临时文件对吗? :)
import fileinput
import os
import sys
l = []
for line in fileinput.input():
open('test.txt', 'a').write(line)
print('\n'.join(open('test.txt').read().split('\n')[-2::-1]))