Mac 学习系列之Python Challenge 1-10

  1. give you two var a and b, print the value of a+b, just do it!!
    Answer:
    print a+b

  2. 给你一个list L, 如 L=[2,8,3,50], 对L进行升序排序并输出,
    如样例L的结果为[2,3,8,50]
    Answer:
    L=[2,8,3,50]
    L.sort() or L.sorted()
    print L

  3. 给你一个字符串 a, 如a=‘12345’,对a进行逆序输出a。
Answer:
a = ‘12345’
b = a[::-1]
print b

4.给你一字典a,如a={1:1,2:2,3:3},输出字典a的key,以’,’链接,如‘1,2,3’。

Answer:
print(','.join(map(str, a.keys())))

map函数例子

    >>> def add100(x):
...     return x+100
... 
>>> List = [11,22,33]
>>> map(add100, List)
[111, 122, 133]

5 . 给你一个字符串 a, 输出字符奇数位置的字符串。如a=‘12345’,则输出135。

Answer:
print a[::2]

6 . 输出100以内的所有素数,素数之间以一个空格区分

Answer:
primes =[]
for i in range(2,100):
flag = False
for j in range(2,int (i/2)+1):
        if i % j  == 0:
            flag =True
if not flag:primes.append(i)
print(' '.join(map(str, primes)))

7 . 已知矩形长a,宽b,输出其面积和周长,面积和周长以一个空格隔开

Answer:
print str(a*b)+' '+str(2*(a+b))

8 . 给你一个list L, 如 L=[0,1,2,3,4], 输出L的中位数(若结果为小数,则保留一位小数)。

Answer:
L = sorted(L)
if len(L)%2 == 1:
    x =  L[(len(L)-1)/2]
else:
    x = L[len(L)/2-1]/2.0+L[len(L)/2]/2.0
print  x

9 . 给你两个正整数a和b, 输出它们的最大公约数。

Answer:
print max([i for i in range(1,a+b) if (a%i+b%i)==0])

10 . 给你两个正整数a和b, 输出它们的最小公倍数

Answer:
print a*b/max([i for i in range(1,a+b) if (a%i+b%i)==0])

未完,待续

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章