大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
def limit():
创新互联成立于2013年,先为潞州等服务建站,潞州等地企业,进行企业商务咨询服务。为潞州企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
s=0.0
x=1.0
while True:
y=1.0/x
s=s+y
yield(s)
x*=2
计算 s=1+1/2+1/4+.......+1/2^n
pre
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Polygon
def func(x):
return -(x-2)*(x-8)+40
x=np.linspace(0,10)
y=func(x)
fig,ax = plt.subplots()
plt.plot(x,y,'r',linewidth=2)
plt.ylim(ymin=20)
a=2
b=9
ax.set_xticks([a,b])
ax.set_xticklabels(['$a$','$b$'])
ax.set_yticks([])
plt.figtext(0.9,0.05,'$x$')
plt.figtext(0.1,0.9,'$y$')
ix=np.linspace(a,b)
iy=func(ix)
ixy=zip(ix,iy)
verts=[(a,0)]+list(ixy)+[(b,0)]
poly = Polygon(verts,facecolor='0.9',edgecolor='0.5')
ax.add_patch(poly)
x_math=(a+b)*0.5
y_math=35
plt.text(x_math,y_math,r"$\int_a^b(-(x-2)*(x-8)+40)dx$",horizontalalignment='center',size=12)
plt.show()
/pre
raw_input获取的输入是字符串,不能直接用np.array,需要用split进行切分,然后强制转化成数值类型,才能用plot函数
我把你的代码稍微修改了一下,可能不太漂亮,不过能运行了
x=[1,2,3]
a = raw_input('function')
a = a.split(' ')#依空格对字符串a进行切分,如果是用逗号分隔,则改成a.split(',')
b = []
for i in range(len(a)):#把切分好的字符强制转化成int类型,如果是小数,将int改为float
b.append(int(a[i]))
plt.plot(x, b, label='x', color="green", linewidth=1)
你把遍历的结果放到一个列表里面,便利结束后求列表里的最大值就行了
ls=[]
for i in range(xxx):
ls.append(func)
max_value = max(ls)