a.txt
:
5
3
3
4
3
3
b.txt
:
5
5
3
4
3
4
4
5
3
3
- 从第一个文件中每次取 1 行作为 分子
- 第二个文件中每次取 2 行,取这 2 个数的和为 分母
- 用分子除以分母,输出 商
该如何写代码?
# 編者備份


a.txt
:
5
3
3
4
3
3
b.txt
:
5
5
3
4
3
4
4
5
3
3
该如何写代码?
# 編者備份


import itertools
with open('a.txt') as f1, open('b.txt') as f2:
for a, b1, b2, _ in itertools.zip_longest(f1, *[f2]*3):
try:
a, b1, b2 = (int(item.strip()) for item in (a, b1, b2))
print(a/(b1 + b2))
except Exception as err: # you should make a more precise error handling
pass
我回答過的問題: Python-QA
我从前端js的角度,帮你写一个简单的逻辑吧,如果有能力,你可以改成其他语言。
//假设这是a.txt
var a =
`5
3
3
4
3
3`;
var b =
`5
5
3
4
3
4
4
5
3
3`;
//处理两个文件数据
var a_arr = a.split(/\n+/g);
var b_arr = b.split(/\n{2,}/g).map(function(v){return eval(v.split(/\n+/).join('+'))});
var result = a_arr.map(function(v,i){
return v/b_arr[i];
})
[0.5, 0.42857142857142855, 0.42857142857142855, 0.4444444444444444, 0.5, NaN]
最后一个nan是因为a,b文件的除数和被除数的个数不匹配导致的。
import pandas as pd
a = pd.read_csv("a.txt", header=None)
a.columns=["a"]
b = pd.read_csv("b.txt", header=None)
b.columns=["b"]
b["c"] = map(lambda x: x//2, b.index)
c = b.groupby(b["c"])["b"].sum()
result = a['a']/ c
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答971 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决