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])

未完,待續

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