zl程序教程

您现在的位置是:首页 >  其它

当前栏目

一起挑战pythontip的题目(7)

挑战 题目 一起
2023-09-14 09:01:29 时间

第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
>>> 

============================================================

来源:

Python 爬取pythontip网站的挑战题目(附全部题目178题)