第31题:山峰的个数
题目描述:十一假期,小P出去爬山,爬山的过程中每隔10米他都会记录当前点的海拔高度(以一个浮点数表示), 这些值序列保存在一个由浮点数组成的列表h中。回到家中,小P想研究一下自己经过了几个山峰,请你帮他计算一下,输出结果。
例如:h=[0.9,1.2,1.22,1.1,1.6,0.99], 将这些高度顺序连线,会发现有两个山峰,故输出一个2(序列两端不算山峰)
示例:输入:h = [0.9, 1.2, 1.22, 1.1, 1.6, 0.99]
输出:2
>>> h = [0.9, 1.2, 1.22, 1.1, 1.6, 0.99] >>> k = 0 >>> for i in range(1,len(h)): if h[i-1]<h[i] and h[i]>h[i+1]: k+=1 >>> print(k) 2 >>>
============================================================
第32题:三角形形状
题目描述:给以一个三角形的三边长a,b和c(边长是浮点数),请你判断三角形的形状。
若是锐角三角形,输出R,
若是直角三角形,输出Z,
若是钝角三角形,输出D,
若三边长不能构成三角形,输出W.
示例:输入:a = 3.0
b = 5.0
c = 4.0
输出:Z
>>> def func(a,b,c): t = sorted([a,b,c]) d = t[2]**2-t[1]**2-t[0]**2 if d==0: print('Z') elif d>0: print('D') else: print('R') >>> a,b,c=3.0, 5.0, 4.0 >>> func(a,b,c) Z >>> a,b,c=3.0, 5.0, 5.0 >>> func(a,b,c) R >>> a,b,c=3.0, 3.0, 5.0 >>> func(a,b,c) D >>>
============================================================
第33题:大幂次运算
题目描述:给你两个正整数a,n
示例:输入:a = 3453
n = 0
输出:1
============================================================
第34题:密码生成
题目描述:生活在当代社会,我们要记住很多密码,银行卡,qq,人人,微博,邮箱等等。小P经过一番思索之后,发明了下面这种生成密码方法:给定两个正整数a和b, 利用a / b我们会得到一个长度无限的小数(若a / b不是无限小数,比如1/2=0.5,我们认为0.5是0.5000000...,同样将其看做无限长的小数),小P将该小数点后第x位到第y位的数字当做密码,这样,无论密码有多长,小P只要记住a,b,x,y四个数字就可以了,牢记密码再也不是那么困难的事情了。现在告诉你a,b,x,y(0
示例:输入:a = 1
b = 2
x = 1
y = 4
输出:5000
============================================================
第35题:最大连续子序列
题目描述:给你一个整数list L, 如 L=[2,-3,3,50], 求L的一个连续子序列,使其和最大,输出最大子序列的和。
例如,对于L=[2,-3,3,50], 输出53(分析:很明显,该列表最大连续子序列为[3,50]).
示例:输入:L = [2, -3, 3, 50]
输出:53
>>> L = [2, -3, 3, 50] >>> func = lambda L:max(sum(j) for j in [L[j:i] for i in range(len(L),0,-1) for j in range(len(L))]) >>> func(L) 53 >>> L = [2, -3, 3, 50, 5, 0, -1] >>> func(L) 58 >>>