【发布时间】:2014-01-02 11:00:13
【问题描述】:
过去几个小时一直在尝试解决这个问题,但我找不到解决方案!本质上,我们必须编写一个程序来打开一个文件,从中获取数字,并计算上述的东西(平均值、最小值、最大值、标准推导)。以下是我目前拥有的:
def get_numbers():
# Open a file for reading.
infile = open('inNumbers.txt', 'r')
# Read the numbers from the file.
line = infile.readline()
while line != '':
print(line)
line = infile.readline()
infile.close()
def mean(nums):
sum = 0.0
for num in nums:
sum = sum + num
return sum / len(nums)
def stdDev(nums, xbar):
sumDevSq = 0.0
for num in nums:
dev = xbar - num
sumDevSq = sumDevSq + dev * dev
return sqrt(sumDevSq/(len(nums)-1))
def min():
showFile = open("inNumbers.txt", 'r')
lowest = None
for line in showFile:
tokens = line.split(',')
value = min(tokens[:2])
if lowest == None:
lowest = value
if value < lowest:
lowest = value
def main():
print("This program computes mean, maximum, minimum and standard deviation.")
data = get_numbers()
xbar = mean(data)
std = stdDev(data, xbar)
print("\nThe mean is", xbar)
print("The standard deviation is", std)
print("The minimum is", value)
main()
【问题讨论】:
-
还有什么问题?你不懂那些数学单词是什么意思,你不懂python,你不懂编程……什么?
-
您实际上并没有读取任何数字 - 您传递的是文件句柄而不是实际数字。此外,您的 mean 函数没有正确缩进(循环不会执行)。
-
我会说问题是我不知道我这样做是否正确。所以基本上我会说我对python的了解不够,不知道如何让我的程序正常工作,因为当我尝试运行它时它会出现错误
-
首先,您的 get_numbers 函数不返回任何内容,因此数据为
None。其次,您正在打开文件,但实际上并没有阅读其内容。看Python文件参考:docs.python.org/2/tutorial/… -
@user3102945 您仍然只是打印文件的内容,仅此而已。你真的应该先阅读一些编程入门,然后再阅读 python 入门。否则复制粘贴代码 sn-ps 只会导致另一个货物崇拜。
标签: python file max standards minimum