eiyawii
Авг. 4, 2011 13:17:36
добрый день.
хочется построить кривую, используя функцию, которую я ввел в программе. но не строится кривая - как реализовать?
вот код программы:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#функция факториала
def fact(j):
f=1
k=0
while k<j:
k=k+1
f=f*k
return f
#функция расчета биномиальных коэффициентов
def bn(n):
k=0; c=[]
while k<n or k==n:
c+=[(fact(n))/((fact(k)*fact(n-k)))]
k+=1
print c
n=input('BBeDu cTe5eHb n= ')
print bn(n)
#построение линии би.коэф
import matplotlib.pyplot as plt
plt.plot(bn(n))
plt.title('gr')
plt.show()
pill
Авг. 4, 2011 14:32:40
У вас функция bn(n) ничего не возвращает (Точнее возвращает None). замените print c на return c
eiyawii
Авг. 4, 2011 20:21:44
pill, спасибо за подсказку, я тут не кисло ошибся.) всё теперь работает как надо, НО возникла следующая проблема:
overflowerror: long int too large to convert to float
ошибка эта вылезает уже при построении графика. как изменить код построения графика или использовать мб какие-нибудь другие функции, чтобы избежать этой ошибки?
ps это когда я степень большу задаю, например, 1500.