如何将两个不同文件中的数字相乘?

时间:2017-04-24 13:18:08

标签: python

我有两个不同的文件A和B:

A= 5 
   2
   3
   4
   6
  78
   ..

B= 3
   4
   2
   1
   8
   7
   ..

我需要计算两个文件的每个文件的乘法,我使用这段代码:

A_file=open(r'C:\Users\user\Desktop\New_folder\A.txt', 'r')
B_file = open(r'C:\Users\user\Desktop\New_folder\B.txt', 'r')
for a in A_file:
    for line, b in enumerate(B_file):
        #print  b
        print (a,'+',b)
        c= int(a)*int(b)
        print (c)

结果是:

('5\n', '+', '3\n')
15
('5\n', '+', '4\n')
20
('5\n', '+', '2\n')
10
('5\n', '+', '1\n')
5
('5\n', '+', '8\n')
40
('5\n', '+', '7')
35

但预测的结果是:

('5\n', '+', '3\n')
15
('2\n', '+', '4\n')
8
('3\n', '+', '2\n')
6
('4\n', '+', '1\n')
4
('6\n', '+', '8\n')
48
('78\n', '+', '7')
546

请问如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

使用setNames(cols, paste0("log_", cols))并行浏览文件。

答案 1 :(得分:0)

考虑到文件长度相等

A_file=open(r'C:\Users\user\Desktop\New_folder\A.txt', 'r')
B_file = open(r'C:\Users\user\Desktop\New_folder\B.txt', 'r')

alist=[]
blist=[]
for each in A_file:
    alist+=[int(each)]
for each in B_file:
    blist+=[int(each)]

if len(alist)==len(blist):
    for every in alist:
        print (alist[every],'+',blist[every])
        c= alist[every]+blist[every]
        print (c)