Day9 -作业

0.写一个匿名函数,判断指定的年是否是闰年

runnian = lambda year :(year % 4 == 0 and year % 100 != 0 )or(year % 400 == 0)
print('是否是闰年:',runnian(2004))

是否是闰年: True

1.写一个函数将一个指定的列表中的元素逆序( 如[1, 2, 3] -> [3, 2, 1])(注意:不要使 表自带的逆序函数)

法一:
def nixu(list1=[]):
    for x in range(len(list1)//2):
        list1[x],list1[len(list1)-x-1]=list1[len(list1)-x-1],list1[x]
    return list1
print(nixu([1,2,3,4,5,6,7,8,9]))

[9, 8, 7, 6, 5, 4, 3, 2, 1]

法二:
def nixu2(list1=[]):
    list2 = []
    for x in list1[::-1]:
        list2.append(x)
    return list2
print(nixu2([1,2,3,4,5,6,7,8,9]))

[9, 8, 7, 6, 5, 4, 3, 2, 1]

2.写一个函数,提取出字符串中所有奇数位上的字符

def get_char(str1=''):
    str2 =''
    for x in range(len(str1)):
        if x & 1 == 1:
            str2 += str1[x]
    return  str2
print(get_char('12345678'))

2468

3.写一个函数,统计指定列表中指定元素的个数(不用列表自带的count方法)

def count_num(list1,num1):
    num = 0
    for index in list1[:]:
      if num1 == list1[index]
        num+=1
    return num
print('个数是:',count_num([1,2,3,'a','b',7]))

个数是: 6

4.写一个函数,获取指定列表中指定元素的下标(如果指定元素有多个,将每个元素的下标都返回)

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

def get_index(num,list1=[]):
    list2 = []
    for index in range(len(list1)):
        if num == list1[index]:
            x = index
            list2.append(x)
    return list2

print('位置是:',get_index(2,[1,2,'a','b',2,4,5,2]))

位置是: [1, 4, 7]

5.写一个函数,能够将一个字典中的键值对添加到另外一个字典中(不使用字典自带的update方法)

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

{'c': 3, 'a': 1, 'b': 2}

6.写一个函数,能够将指定字符串中的所有的小写字母转换成大写字母;所有的大写字母转换成小写字母(不能使用字符串相关方法)

def change_str(str1):
    str2=''
    for x in range(len(str1)):
        if 'a'<= str1[x] <= 'z':
            str2 += chr(ord(str1[x])-32)
        elif 'A' <= str1[x] <='Z':
            str2 += chr(ord(str1[x])+32)
    return str2
print(change_str('abcDEF'))


ABCdef

7.写一个函数,能够将指定字符串中的指定子串替换成指定的其他子串(不能使用字符串的replace方法)

例如: func1('abcdaxyz', 'a', '') - 返回: '\bcd\xyz'

def replace_str(str1,str2,str3):
    list1 = list(str1)
    for index in range(len(list1)):
        if list1[index] == str2:
            list1[index] = str3
        str1 = ''.join(list1)
    return str1
print(replace_str('abcdaer','a','/'))

/bcd/er

8.实现一个输入自己的items方法,可以将自定的字典转换成列表。列表中的元素是小的列表,里面是key和value (不能使用字典的items方法)

例如:{'a':1, 'b':2} 转换成 [['a', 1], ['b', 2]

你可能感兴趣的:(Day9 -作业)