Python刷题
PythonTip-挑战Python
(以下代码是在PyCharm上运行成功的,如果想要在刷题上成功运行,需要把前边的定义去掉)
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]
num = 0
for i in range(1,len(h)-1,1):
print(h[i])
if h[i] > h[i-1] and h[i] > h[i+1]:
num = num + 1
print(num)
(这个题还是简单的,只要某个值大于两边的值就可以了)
32.题目描述:
给以一个三角形的三边长a,b和c(边长是浮点数),请你判断三角形的形状。 若是锐角三角形,输出R, 若是直角三角形,输出Z, 若是钝角三角形,输出D, 若三边长不能构成三角形,输出W.
a = 3.0
b = 6.0
c = 4.0
l = [a,b,c]
l = sorted(l)
if int(l[0])+int(l[1])>int(l[2]) and int(l[2])-int(l[1])<int(l[0]):
if int(l[0])**2 +int(l[1])**2 == int(l[2])**2:
print('Z')
elif int(l[0])**2 +int(l[1])**2 < int(l[2])**2:
print('D')
elif int(l[0])**2 +int(l[1])**2 > int(l[2])**2:
print('R')
else:
print('W')
(先判断上是否是三角形,如果是三角形则如果一个三角形的最长边平方=其他两边的平方和,这个三角形是直角三角形;如果一个三角形的最长边平方>其他两边的平方和,这个三角形是钝角三角形;如果一个三角形的最长边平方<其他两边的平方和,这个三角形是锐角三角形,根据这个写就可以了)
33.题目描述:
给你两个正整数a(0 < a < 100000)和n(0 <= n <=100000000000),计算(a^n) % 20132013并输出结果
方法一:通过内置函数pow进行计算:
a = 3453
n = 1
print(pow(a,n,20132013))
方法二:(这个可以在pycharm上运行,但是提交的时候显示过于复杂)
a = 3453
n = 1
print(a**n%20132013)
|