我有这个代码将随机数写入文本文件:
import random
members = 5
participants=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
random.shuffle(participants)
with open("myfile1.txt",'w') as tf:
for i in range(len(participants) // members + 1):
group = participants[i*members:i*members + members]
for participant in group:
tf.write(str(participant))
tf.write("\n")
我试图用它来总结它给我的随机数
import numpy
data = numpy.loadtxt("myfile1.txt")
def MA1001():
return(data[0:,0].sum())
然而,它给了我“太多的数组索引”错误? 有没有办法解决这个问题,还是有更好的方法? 谢谢!
答案 0 :(得分:2)
不是100%确定你想要实现的目标,但是:你在文件中每行写一个数字,而loadtext将返回一个数组(shape(20,))。因此,data.sum()就足够了。没有第二个维度。
答案 1 :(得分:1)
with open('myfile1.txt','r') as file:
print (sum(map(int,file.read().splitlines())))
你可以试试这个没有numpy
答案 2 :(得分:1)
如果您想使用numpy
,只需执行以下操作:
#!/usr/bin/env python
import numpy as np
data = np.loadtxt("myfile1.txt")
def MA1001(data):
print(data.sum())
MA1001(data)