day09作業

weixin_34357887發表於2018-11-15

1.寫一個匿名函式,判斷指定的年是否是閏年

leap_year=lambda year:'%d年是潤年'%year if (year%4==0 and year%100!=0)or(year%400==0) else '%d年是平年'%year

print(leap_year(1900)) # 1900年是平年

2.寫一個函式將一個指定的列表中的元素逆序( 如[1, 2, 3] -> [3, 2, 1])(注意:不要使 表自帶的逆序函式)

def lis(list1):
    list1=list1[-1::-1]
    return list1

list1=[1,2,3,4,5]
print(lis(list1))

3.寫一個函式,提取出字串中所有奇數位上的字元

def str_(start,step,str1):
    str1=str1[start::step]
    return str1

str1='0123456789'
print(str_(1,2,str1)) # 13579

4.寫一個函式,統計指定列表中指定元素的個數(不用列表自帶的count方法)

def cout(item_,list1):
    index=0
    for item in list1:
        if item_ ==item:
            index+=1
    return index

list1=['a',2,'a',5,'a',6,'a',7,'8a']
print(cout('a',list1)) # 4

5.寫一個函式,獲取指定列表中指定元素的下標(如果指定元素有多個,將每個元素的下標都返回)

例如: 列表是:[1, 3, 4, 1] ,元素是1, 返回:0,3

def subscript(item_,list1): # 找出指定列表中指定元素出現時的下標
    list_=[]
    for index in range(len(list1)):
        if list1[index]==item_:
            list_.append(index)
    return list_
list1=[1,3,4,1]
print(subscript(1,list1)) # [0, 3]

6.寫一個函式,能夠將一個字典中的鍵值對新增到另外一個字典中(不使用字典自帶的update方法)

 def dict_(dict1):
    dict2={}
    for key in dict1:  # dict2=dict1
        dict2[key]=dict1[key]
    return dict2
dict1={'a:':1,'b:':2,'c:':3}
print(dict_(dict1)) # {'a:': 1, 'b:': 2, 'c:': 3}

7.寫一個函式,能夠將指定字串中的所有的小寫字母轉換成大寫字母;所有的大寫字母轉換成小寫字母(不能使用字串相關方法)

def trans(str1):
str2 = ''
for i in range(len(str1)):
    if 'A' <= str1[i] <= 'Z':
        str2=str2+chr(ord(str1[i])+32)
    elif 'a'<=str1[i]<='z':
        str2 = str2 + chr(ord(str1[i]) - 32)
    else:
        str2 = str2 + str1[i]
return str2

str1 = 'abc%$ADF'
print(trans(str1))  # ABC%$adf

8.寫一個函式,能夠將指定字串中的指定子串替換成指定的其他子串(不能使用字串的replace方法)
例如: func1('abcdaxyz', 'a', '') - 返回: '\bcd\xyz'

def replac(str1,ch1,ch2):
    str2=''
    for index in range(len(str1)):
        if str1[index]==ch1:
            str2 = str2 + ch2
        else:
            str2=str2+str1[index]
    return str2

print(replac('abcdaxyz', 'a','\\'))  # \bcd\xyz

9.實現一個輸入自己的items方法,可以將自定的字典轉換成列表。列表中的元素是小的列表,裡面是key和value (不能使用字典的items方法)

例如:{'a':1, 'b':2} 轉換成 [['a', 1], ['b', 2]]

def item(dict1):
    list2=[]
    for item_ in dict1:
        list1=[item_,dict1[item_]]
        list2.append(list1)
    return list2
dict1={'a':1,'b':2,'c':3}
print(item(dict1))  # [['a', 1], ['b', 2], ['c', 3]]