一行打印字符串

时间:2019-04-10 23:21:59

标签: python string

我早些时候问过一个问题,但是没人能回答我-我有这段代码,想将定义为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) 

感谢您的帮助!

2 个答案:

答案 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