我一直在努力用Python创建2个非常小的逻辑应用程序。我对编程非常陌生,绝对可以使用你的一些指导,因为对于有经验的人来说这可能很容易。
第一个是一个小程序,它根据输入程序的数字计算统计方程,并将结果输出到一个小表中。这是任务的PDF:
http://xboxflashing.com/cw2010.pdf
我已经设法完成了除了任务1的最后一部分之外的一切 - 一切正常但除了我不确定如何设置范围。我有一个if / elif设置,添加一个计数(计算范围内有多少) - 然后将计数显示在表格标题下,但显示的结果总是错误地显示出来。因此,我猜我会以错误的方式解决这个问题,或者可能使问题过于复杂。
非常感谢任何关于如何解决这个问题的建议。
其次,钟摆任务令人难以置信。我对Python的经验非常有限,而且我无法理解如何为所要求的内容设置代码。
如果你可以指导我如何设置,那将是惊人的,对我来说是一个巨大的帮助。我不是在寻找实际的答案 - 我可以在教科书中找到它的语法,我真的需要帮助才能开始设置解决方案 。 对任务2的任何帮助对我都是非常有益的。
感谢您的时间。
如果您需要任何进一步的信息,请告诉我。
答案 0 :(得分:1)
这个怎么样?
n = int(raw_input("How many numbers?"))
nums = []
for i in range(n):
nums[i] = float(raw_input("Enter %i th numnber >" %i))
s = sum(nums)
s2 = sum(map(lambda x:x*x,nums))
mu = s/n
mu2 = s2/n
sigma = (mu2-mu)**(0.5)
error_in_mean = sigma/(n)**(0.5)
print "x_i\tx_i-mu\t(x_i-mu)/sigma"
for x in nums:
print "%f\t%f\t%f" %(x,x-mu,(x-mu)/sigma)
absdiff = map(lambda x:abs(x-mu),nums)
n_0 = sum(map(lambda x:(x<=sigma) , absdiff))
n_1 = sum(map(lambda x:(x>sigma)and(x<=2*sigma) , absdiff))
n_2 = sum(map(lambda x:(x>2*sigma)and(x<=3*sigma) , absdiff))
n_3 = sum(map(lambda x:(x>3*sigma) , absdiff))
print "Within 1 sigma: ",n_0
print "Between 1 and 2 sigma: ",n_1
print "Between 2 and 3 sigma: ",n_2
print "Beyond 3 sigma: ",n_3
print "Within 1 sigma: ",n_0
答案 1 :(得分:1)
对于第一个问题,一个没有任何花哨的简单实现:
numbers = []
n = int(raw_input("Enter the amount of numbers: "))
for i in range(n):
num = float(raw_input("Enter number %d: " % d))
numbers.append(num)
# Calculate the statistical values here
within_1_stddev = 0
within_2_stddev = 0
within_3_stddev = 0
outside_3_stddev = 0
for num in numbers:
if (avg - stddev) <= num < (avg + stddev):
within_1_stddev += 1
elif (avg - 2 * stddev) < num <= (avg - stddev) or (avg + stddev) <= num < (avg + 2 * stddev):
within_2_stddev += 1
elif (avg - 3 * stddev) < num <= (avg - 2 * stddev) or (avg + 2 * stddev) <= num < (avg + 3 * stddev):
within_3_stddev += 1
else:
outside_3_stddev += 1
# Output here
对于第二个,这并不容易 - 我有点不喜欢自己的pyplotlib,原因很简单,有时它可能非常压倒性。当然它可以做任何事情,但......:)
# Imports here
# Make a small menu here that sets the initial variables, with raw_input and
# a simple if-else structure, I guess?
timesteps = []
omegas = []
thetas = []
# Here goes the code from the PDF, but inside the loop add something like
timesteps.append(t)
omegas.append(omega)
thetas.append(theta)
# Now you have the time, omega and theta in corresponding indexes at the
# timesteps, omegas and thetas variables.
# Do the plot here (consult the tutorial as suggested in the PDF)
# pyplot.show() (if I remember the name correctly) might be quite helpful here