我早些时候问过一个问题,但是没人能回答我-我有这段代码,想将定义为e的内容写到一个新的ASCII文件中。建议我使用不起作用的元组函数,因为它仅接受参数,但是我有两个(a和b)。所以现在我只是尝试了加入功能。代码在下面
we=open('new.txt','w')
with open('read.txt') as f:
for line in f:
#read a line
a,b=line.split('\t')
#get two values as string
c=2*int(a)
d=3*int(b)
#calculate the other two values
### edited
e = ''.join(("(",str(a),",",str(b),")"))
但是,当我打印e时,最后一个括号将移至新行:
print(e)
会产生
(1,2
)
(3,4
)
但我想要
(1,2)
(3,4)
感谢您的帮助!
答案 0 :(得分:2)
听起来b的末尾有\n
(换行符)。 b.strip()
将返回b
,并删除了两侧的所有空白。您可以更换
a,b=line.split('\t')
与
a,b=line.strip().split('\t')
或将e = ''.join(("(",str(a),",",str(b),")"))
替换为e = ''.join(("(",str(a),",",str(b.strip()),")"))
答案 1 :(得分:0)
在提取值之前,您需要在行中替换: subtract-sum ( seq -- quot: ( n -- n ) ) sum '[ _ - ] ;
: subtract-sum-seq ( seq -- x ) dup subtract-sum [ call( n -- n ) ] curry map ;
{ 1 2 3 4 } subtract-sum-seq .
! -> { -9 -8 -7 -6 }
。这应该提供所需的输出:
\n