我知道有类似的帖子。但它们似乎都没有处理来自文件输入库的输入。我这里最大的问题是我不知道如何处理每个 line
从 for 循环生成,无需分配临时变量。
我正在做一个代码练习题,要求是“编写一个函数来交换两个数字而不使用任何临时变量。”
我被赋予开始这个问题的代码是:
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]))
关于python - 交换不同行中的数字(来自文件输入库)而不使用临时变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55014016/