python Tip 算法题目

来源:互联网 发布:英国大陆均势政策 知乎 编辑:程序博客网 时间:2024/05/19 02:19

sudo apt-get install vertex-theme
1、给你一个列表 L, 对L进行升序排序并输出排序后的列表。
例如:L = [8,2,50,3]
则输出:[2,3,8,50]

print(sorted(L))
2、给你一个字符串 a, 请你输出逆序之后的a。例如:a=‘xydz’则输出:zdyx
print (''.join(sorted(a,reverse=True)))
3、给你一字典a,如a={1:1,2:2,3:3},输出字典a的key,以’,’连接,如‘1,2,3’。要求key按照字典序升序排列(注意key可能是字符串)。例如:a={1:1,2:2,3:3}, 则输出:1,2,3
print (','.join(str(x)for x in sorted(a.keys())))或者 print (','.join(sorted(str(key) for key in a))) 

4、给你一个字符串 a, 输出a中奇数位置字符构成的字符串(位置编号从1开始)。
例如:a=‘xyzwd’
则输出:xzd

print(a[::2])
5、输出100以内的所有素数,素数之间以一个空格区分(注意,最后一个数字之后不能有空格)。
m=[i for i in range(3,100) for j in range(2,i) if i % j ==0]n=range(2,100)print ' '.join(map(str,(set(n)-set(m))))或者b=[]for i in range(2,101):    for j in range(2,i):        if i % j==0:            break    else:        b.append(i)print (" ".join(str(n) for n in b))或者l=[]for n in range(2,101):    for i in range(2,n):        if n%i == 0:break    else:l.append(n)print(' '.join(map(str,l))) 

6、给你一个整数列表L, 输出L的中位数(若结果为小数,则保留一位小数)。
例如: L=[0,1,2,3,4]
则输出:2

L.sort()m=len(L)n=m%2o=(L[m/2]+L[m/2-1])/2.0if n==1:    print(L[m//2])else:    print(o) 

7、给你两个正整数a和b, 输出它们的最大公约数。
例如:a = 3, b = 5
则输出:1

def fun(a,b):    if a%b==0:        return b    else:        return fun(b,a%b)print(fun(a,b))或者a=min(a,b)b=max(a,b)while a:    b,a=a,b%aprint b

8、

def fun(a,b):    if a%b==0:        return b    else: return fun(b,a%b)print(a*b/fun(a,b)) 或者c= a*bwhile b>0:    a,b = b, a%bprint (c/a)
原创粉丝点击