一起挑战pythontip的题目(8)

简介: 一起挑战pythontip的题目(8)

第 36 题:最大非连续子序列

题目描述:给你一个整数 list L, 如 L=[2,-3,3,50], 求 L 的一个非连续子序列,使其和最大,

输出最大子序列的和。

这里非连续子序列的定义是,子序列中任意相邻的两个数在原序列里都不相邻。

例如,对于 L=[2,-3,3,50], 输出 52(分析:很明显,该列表最大非连续子序列为[2,50]).

示例:

输入:L = [2, -3, 3, 50]

输出:52


>>> L = [2, -3, 3, 50]
>>> max([sum(k) for k in [L[i:][::j] for i in range(len(L)) for j in range(2,len(L))]])
52
>>> # 分开展示:
>>> [L[i:][::j] for i in range(len(L)) for j in range(2,len(L))]
[[2, 3], [2, 50], [-3, 50], [-3], [3], [3], [50], [50]]
>>> [sum(k) for k in [L[i:][::j] for i in range(len(L)) for j in range(2,len(L))]]
[5, 52, 47, -3, 3, 3, 50, 50]
>>> K = [L[i:][::j] for i in range(len(L)) for j in range(2,len(L))]
>>> [sum(k) for k in K]
[5, 52, 47, -3, 3, 3, 50, 50]
>>> max([sum(k) for k in K])
52
>>> 



注:此方法如果L元素较多,且间隔可不全等分组时结果并不准确

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

第 37 题:简单题之勾股定理

题目描述:给你直角三角形的两个直角边的边长 a,b,请你求出其斜边边长,结果保留小数点

后三位小数。

如 a=3, b =4, 则输出 5.000。

示例:

输入:a = 3.0 , b = 4.0

输出:5.000


>>> a,b=3.0,4.0
>>> print('%.3f'%((a**2+b**2)**0.5))
5.000
>>> 




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

第 38 题:简单题之列表转换


题目描述:给你一个字符串列表L,请用一行代码将列表所有元素拼接成一个字符串并输出。

如 L=['abc','d','efg'], 则输出 abcdefg。

示例:

输入:L = ["abc", "d", "efg"]

输出:abcdefg


1. >>> L = ["abc", "d", "efg"]
2. >>> print(''.join(L))
3. abcdefg




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

第 39 题:简单题之输出格式练习


题目描述:给你一个字符串列表 L,用一行代码顺序输出 L 中的元素,元素之间以一个空格

隔开,注意行尾不要有空格,输出单独占一行。

如 L=['abc','d','efg'], 则输出 abc d efg。

示例:

输入:L = ["abc", "d", "efg"]

输出:abc d efg


1. >>> L = ["abc", "d", "efg"]
2. >>> print(' '.join(L))
3. abc d efg




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

第 40 题:整数解

题目描述:给你两个整数 a 和 b(-10000<a,b<10000),请你判断是否存在两个整数,他们的

和为 a,乘积为 b。

若存在,输出 Yes,否则输出 No

例如:a=9,b=15, 此时不存在两个整数满足上述条件,所以应该输出 No。

示例:

输入:a = 9 ,b = 15

输出:No


>>> def func(a,b):
    '''即求 x²-ax+b=0 是否存在整数解'''
  if a*a<4*b:return "No"
  for i in range(-10000,10001):
    if i*i-a*i+b==0:return "Yes"
  else:
    return "No"
>>> func(9,15)
'No'
>>> func(12,5)
'No'
>>> func(0,2)
'No'
>>> func(0,-4)
'Yes'
>>> func(7,6)
'Yes'
>>> func(7,12)
'Yes'
>>> 
目录
相关文章
|
调度 Python
一起挑战pythontip的题目(23)
一起挑战pythontip的题目(23)
82 0
|
定位技术
一起挑战pythontip的题目(22)
一起挑战pythontip的题目(22)
70 0
一起挑战pythontip的题目(6)
一起挑战pythontip的题目(6)
60 0
|
数据安全/隐私保护
一起挑战pythontip的题目(7)
一起挑战pythontip的题目(7)
71 0
|
数据安全/隐私保护
一起挑战pythontip的题目(13)
一起挑战pythontip的题目(13)
64 0
|
机器学习/深度学习
一起挑战pythontip的题目(15)
一起挑战pythontip的题目(15)
87 0
|
Python
一起挑战pythontip的题目(27)
一起挑战pythontip的题目(27)
81 0
一起挑战pythontip的题目(35)
一起挑战pythontip的题目(35)
76 0
|
Python
一起挑战pythontip的题目(1)
一起挑战pythontip的题目(1)
102 0
一起挑战pythontip的题目(26)
一起挑战pythontip的题目(26)
68 0